C语言经典算法100例-018-求s=a+aa+aaa+aaaa+aa...a 的值
2014-03-03 15:58
381 查看
题目如下:
求s=a+aa+aaa+aaaa+aa...a 的值,其中a 是一个数字。例如2+22+222+2222+22222(此时共有5 个数相加),用户可以输入a和项数n。
这道题还是有点小难度的,关键在于计算每项的和。其实可以这样算,先看位数,循环i,然后依次累加a*10的i幂,但介于c语言没有现成的幂函数,所以必须要用别的方法,具体思路是利用这样一个规律:
a1=a;
a2=a1+a*10
a3=a2+a*10*10。
来看源代码:
求s=a+aa+aaa+aaaa+aa...a 的值,其中a 是一个数字。例如2+22+222+2222+22222(此时共有5 个数相加),用户可以输入a和项数n。
这道题还是有点小难度的,关键在于计算每项的和。其实可以这样算,先看位数,循环i,然后依次累加a*10的i幂,但介于c语言没有现成的幂函数,所以必须要用别的方法,具体思路是利用这样一个规律:
a1=a;
a2=a1+a*10
a3=a2+a*10*10。
来看源代码:
#include <stdio.h> #include <stdlib.h> int main() { int count=1; int a,n; long int sn=0,an=0; printf("Plese input a and n!\n"); scanf("%d%d",&a,&n); while(count<=n) //关键是累加项为a*10的幕 { an=an+a; sn=sn+an; a=a*10; ++count; printf("%ld\n",an); //an为各项的值 } printf("The sum is %ld\n",sn);//总和 return 0; }
相关文章推荐
- C语言——实例018 s=a+aa+aaa+aaaa+aa...a
- C#优化字符串操作(7)--输出21个AAAAAAAAAAAAAAAAAAAAA的巧妙做法
- 求s=a+aa+aaa+aaaa+aa...a的值 。。。。(输入a的值和个数)
- 求s=a+aa+aaa+aaaa+aa...a的值
- 求s=a+aa+aaa+aaaa+aa...a的值
- Find the sum of S = a + aa + aaa + aaaa + aaaaa +......+ aaa...aaa +...
- 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
- aaaaaaaaa
- 【笔试】8、求s=a+aa+aaa+aaaa+aa...a的值
- 013-题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
- aaaaaaaaa
- aaaaaaaaaaaaaaaaaaa
- 求s=a+aa+aaa+aaaa+aa...a的值
- C语言求S(n) = a+aa+aaa+aaaa+...+aa..a之值,其中a是一个数字,n表示a的位数例如:2+22+222+2222+22222(此时n=5),n和a都从键盘输入。
- c语言;求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和 其中a是一个数字 例如:2+22+222+2222+22222
- 求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- 求s = a+aa+aaa+aaaa+a......a的值,其中a是一个数字
- hust 1570 Lazy. Lazy. Laaaaaaaaaaaazy!
- 求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222