编程题
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
#include <stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int fun(int num, int n); int main(void) { int num, n; puts("请输入相加的数(个位数)和相加的次数(a+aa+aaa+...)"); scanf("%d%d", &num, &n); printf("结果:%d", fun(num, n));
return 0;
} // printf("\n");
int fun(int num, int n) { int sum=0,t=num; for(int i = 0; i < n; i++) { sum += num; num = num* 10 + t;//注意要用空变量存储num } return sum; }
#include<iostream>
using namespace std;
long judge(int base,int length)
{
static long base0=base;
if(length==1)
return base;
}
return base+judge(base*10+base0,length-1);
int main()
int a,n;
cin>>a>>n;
cout<<judge(a,n)<<endl;
#include <stdio.h>
int main() { int a = 0; int n = 0; scanf("%d %d",&a, &n); int t = a; for (int i = 0; i < n-1; i++) { a *= 10; a += 2; t += a; } printf("%d", t); }
程序分析:关键是计算出每一项的值。...
用户登录可进行刷题及查看答案
程序分析:关键是计算出每一项的值。
#include<stdio.h> int main() { int s=0,a,n,t; printf("请输入 a 和 n:\n"); scanf("%d%d",&a,&n); t=a; while(n>0) { s+=t; a=a*10; t+=a; n--; } printf("a+aa+...=%d\n",s); return 0; }
登录后提交答案