简单的求和问题 |
难度级别: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 i,j,a,n,sum,ans; int main() { scanf("%d%d",&a,&n); for(i=1;i<=n;i++)//循环位数。 { for(j=0;j<i;j++) sum=sum*10+a;//计算当前数。 ans+=sum;//累加当前数。 sum=0;//清空计算数的变量。 } printf("%d",ans); return 0; }
原文:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9739688.html