计算a+aa+aaa+aaaa+...+a...a(n个a) 的和,求解!

这是CSDN上的一个题

题目详情:

给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和。

输入描述:

测试数据有多组,以文件结尾。每行输入a,n(1<=a,n<=1000000)。

输出描述:

由于结果可能比较大,所以请输出答案mod 1000000007。

答题说明:

输入样例:

1 10

输出样例:

234567893

我的最终结果是:
#include 
#include
int main(void)
{
    int a,n,i;
    while(scanf("%d %d",&a,&n)!=EOF)
   {
    int sum=0,s=0;
    for(i=1;i<=n;i++)
      {    
        s=s+a*pow(10,(i-1));
sum=sum+s;
sum=sum00000007;      
      } 
printf("%d ",sum);
   }
    return 0;
}
在VC6.0里面运行:
中间走了好多弯路:循环语句用了两个,循环中有循环,后来查找了一下方法发现一个for循环就可以搞定;搞完后又发现题目要求多组测试数据,并以文件结尾,于是添加“ while(scanf("%d %d",&a,&n)!=EOF)”,结果输出的结果不正确,远比正确值大,分析了一下,觉得是sum和s的赋值语句位置问题,于是将sum=0,s=0放入while的循环体中,输出结果才正确。之前的在线测试发现错误后我都能找到更正,但做完最后编译结果出错后,
头都大了,找不到头绪。我觉得有两种可能:1,输出完毕后没有立即终止程序;2,对题目的解读还存在错误。希望能有大神指点,感激不尽!

 

posted @ 2014-11-15 01:22  水乡.伶人  阅读(1036)  评论(1编辑  收藏  举报