厦门大学线下编程比赛第一题:求和

  • 编程语言要求: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;
}




坚持原创技术分享,您的支持将鼓励我继续创作!
  • 本文作者: Fayne
  • 本文链接: 396.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!