编程语言要求:Java C# C C++* 难度等级:
有效期: 2014-11-05 至 2015-12-05
- 答题时长:120分钟
给定a和n,计算a+aa+aaa+aaaa+…+a…a(n个a) 的和。
输入描述:
测试数据有多组,以文件结尾。每行输入a,n(1<=a,n<=1000000)。
输出描述:
由于结果可能比较大,所以请输出答案mod 1000000007。
题目来源
此题由本人AC通过,有疑问请联系fjinhao@qq.com,欢迎来此讨论交流
本题解题在求和时,第一个数为a,后一个数=前一个数a+1010^a的位数
#include <stdio.h>
#define mod 1000000007
int main(void)
{
long long a,n;
long long t,m,c, i,result,k;
while ( 2 == scanf(“%I64d%I64d”,&a,&n) )
{
c = 0;
t = a;
while(t)
{
c++;
t /= 10;
}
m = 1;
for ( i=1; i<=c; i++)
m = 10;
result = a % mod;
k = a % mod;
for ( i =2; i<=n; i++ ) {
k = ( k*m + a)%mod;
result = (result + k)%mod;
}
printf(“%d\n”,result);
}
return 0;
}