|
![]() | 作者: baobao [gnijnil]
![]() |
登录 |
3.求s=a+aa+aaa+…aaaa…a(n个a),假设由键盘输入a 和 n 的值为2和8, 则s=2+22+222+…22222222 我是这样做的。就是不行。要怎么改啊??谢谢。 main() {int t,i,n,a,add=2,sum=0; printf("input the value of n,a:"); scanf("%d,%d",&n,&a); for(i=1;i<=n;i++) {t=10*(i-1)*a; 这句要怎么改了才行?? add+=t; sum+=add; } printf("%d",sum); getch(); } ![]() [此贴被 baobao(gnijnil) 在 04月11日13时17分 编辑过] |
地主 发表时间: 05-04-11 11:25 |
![]() | 回复: onizuka [onizuka] ![]() |
登录 |
int范围太小 |
B1层 发表时间: 05-04-11 11:37 |
![]() | 回复: 286 [unique] ![]() |
登录 |
main() { int t,i,n,a,sum=0; printf("input the value of n,a:"); scanf("%d,%d",&n,&a); t=a; for(i=0;i<n;i++) { sum+=t; t=10*t+a; } printf("%d",sum); getch(); } |
B2层 发表时间: 05-04-11 15:46 |
![]() | 回复: leenux [leenux] ![]() |
登录 |
main() { int n,i,e,x; long int a,sum,t,; sum=0; printf("input the value of the a,n"); scanf("%d,%d",&a,&n); x=a; if(n==1) sum=a; else for(i=2;i<=n;i++) {for(t=1,e=1,e<i;e++) t=t*10; a=a+a*t; /*第i项*/ sum=sum+a; /*第2到n项的和*/ } sum=sum+x; return(sum); } 未经测试,请各位高手指点,简化. |
B3层 发表时间: 05-04-11 17:15 |
![]() | 回复: baobao [gnijnil] ![]() |
登录 |
好了。谢谢你们了。![]() |
B4层 发表时间: 05-04-11 19:52 |
![]() | 回复: kenter1643 [kenter1643] ![]() |
登录 |
286的程序巧妙精短~~~~顶 |
B5层 发表时间: 05-04-14 21:47 |
![]() | 回复: xxing [xxing] ![]() |
登录 |
请问这里的SUM最大值是多少,我算出来是“-15761”不太明白![]() |
B6层 发表时间: 05-04-18 16:51 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号