标题:新人有题,求大神指教!
只看楼主
木木123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-11-21
结帖率:50%
已结贴  问题点数:20 回复次数:4 
新人有题,求大神指教!
求Sn=a+aa+aaa+……+a…a(n个a)。a是从键盘上输入的1-9之间的数,n从键盘输入,但可以保证输入的n使Sn在无符号长整型(unsigned long int)数据表示的范围内。
麻烦大神能告诉我看到这样的题的思路是什么吗?从哪里作为突破口?
搜索更多相关主题的帖子: 突破口 键盘 
2013-11-21 16:15
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
得分:5 
做个简单的 n=9
#include <stdio.h>

long int s = 0;
int a = 0, n = 0;
void main()
{
    int j = 0;
    int p[] = {1,11,111,1111,11111,111111,1111111,11111111,111111111};
    printf("enter a,n\n");
    scanf("%d%d",&a,&n);
    for(j=0;j<=n;j++)
    {
        s += a*p[j];
    }
    printf("%ld\n",s);
}

[ 本帖最后由 pink_duo 于 2013-11-21 16:43 编辑 ]

埋头做牛,抬头做人,低头做狗
2013-11-21 16:41
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
得分:5 
回复 2楼 pink_duo
你这也太扯了吧...
你这是简单的没错,n 的值要是大一点你还准备这样做吗?

三十年河东,三十年河西,莫欺少年穷!
2013-11-21 16:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
竖式加法,小学内容吧
     a
+   aa
+  aaa
+ ……
----------------------

n个a相加(就是n*a),然后除以10,余数就是“个位”,商进位到“十位”上
然后 n-1个a相加,再加上上一步的进位……
……
2013-11-21 16:58
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
得分:0 
以下是引用韶志在2013-11-21 16:51:03的发言:

你这也太扯了吧...
你这是简单的没错,n 的值要是大一点你还准备这样做吗?



保证输入的n使Sn在无符号长整型(unsigned long int)数据表示的范围内,这个n不会很大啊

扯是很扯,但是能解决问题,管他什么方式

[ 本帖最后由 pink_duo 于 2013-11-21 17:06 编辑 ]

埋头做牛,抬头做人,低头做狗
2013-11-21 17:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-423952-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.115541 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved