题目
简单的求和问题 |
难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
试题描述
|
给定一个数字 a(0 < a < 10)和一个正整数 n( 1 < n <10),表示由 a 构成的 n 个数,记住每个数的位数都不一样,最少一位,最多 n 位。计算并输出这 n 个数的和。 |
输入
|
两个数,分别为 a 和 n,两数间由一个空格分隔。
|
输出
|
一个数符合题目要求的
|
输入示例
|
2 5
|
输出示例
|
24690
|
其他说明
|
样例解释:2+22+222+2222+22222=24690
|
分析
从一位数开始计算,里面再套一个循环,累加当前数就行了。
代码
#include<bits/stdc++.h>
using namespace std;
int a,n,sum,ans;
int main()
{
scanf("%d%d",&a,&n);
for(int i=1;i<=n;i++)//循环位数。
{
for(int j=0;j<i;j++) sum=sum*10+a;//计算当前数。
ans+=sum;//累加当前数。
sum=0;//清空计算数的变量。
}
printf("%d",ans);
return 0;
}