厦门大学线下编程比赛第一题:求和
给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和。
输入描述: 测试数据有多组,以文件结尾。每行输入a,n(1<=a,n<=1000000)。
输出描述: 由于结果可能比较大,所以请输出答案mod 1000000007。
/* 给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和。 输入描述: 测试数据有多组,以文件结尾。每行输入a,n(1<=a,n<=1000000)。 输出描述: 由于结果可能比较大,所以请输出答案mod 1000000007。 abc&MOD=((a*10%MOD+b%MOD)*10%MOD+a%MOD)%MOD: */ #include<iostream> #include<string.h> #include<stdio.h> #define MOD 1000000007 using namespace std; int main(){ int i,j,n,len; char a[10]; long long sum,s; while(scanf("%s%d",a,&n)!=EOF) { len=strlen(a); sum=0,s=0; for(i=0;i<n;i++) { for(j=0;j<strlen(a);j++) s=(s*10%MOD+(a[j]-'0'))%MOD; sum=(sum%MOD+s%MOD)%MOD; } cout<<sum<<endl; } return 0; }