厦门大学线下编程比赛第一题:求和
给定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;
}