【AKOJ】1298-B趣味求和

B趣味求和

Time Limit:1000MS  Memory Limit:65536K
Total Submit:397 Accepted:144


原题链接

Description

编写一个程序,求Sn=a+aa+aaa+……+aa…aaa(有n个a)的值,其中a是一个数字。

Input

输入数据含有不多于50组的数据,每组数据由两个正整数(0 < a, n < 10)组成。

Output

对于每组数据a和n,计算Sn=a+aa+aaa+……+aa…aaa(有n个a)的值,每个计算结果应单独一行。

Sample Input

5 2
5 1

Sample Output

60
5

Source


#include<stdio.h>
main()
{
	int a,n,c[100000],carry=0,term,i,j;//数组c[]用来存储结果的各个位上的数字 
	while(scanf("%d%d",&a,&n)!=EOF)
	{ 
	   carry=0;                 //进位清零 
		for(i=n;i>=1;i--)
		{
			term=i*a+carry;
			c[n-i]=term%10;   //这里就等同于小学多项加法运算,carry为进位 
			carry=term/10; 
		}
	   	if(carry!=0) 
		{printf("%d",carry);} //因为上面循环之后,只求出了n位数据,可能的进位在这输出 
			for(j=n-1;j>=0;j--)
	{
		printf("%d",c[j]);    //这里直接输出carry,因为carry本身表示范围有限,所以此程序有一定限制性 
	}
		printf("\n");	
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值