/*********************************
* 日期:2013-1-26
* 作者:SJF0115
* 题号: 九度1051
* 题目:数字阶梯求和
* 来源:http://ac.jobdu.com/problem.php?pid=1051
* 结果:AC
* 题意:
* 总结:n位数相加用n+1位数组存储,留出一位用作进位用。
**********************************/
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,n,i,j;
//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);
while(scanf("%d %d",&a,&n)!=EOF)
{
int sum[101] = {0};
int c;
for(i = 1;i <= n;i++){
c = 0;//进位
for(j = n;j >= n-i+1;j--){
if(sum[j] + a + c >= 10){
sum[j] = sum[j] + a + c - 10;
c = 1;
}
else{
sum[j] = sum[j] + a + c;
c = 0;
}
}
if(c == 1){
sum[j] = sum[j] + 1;
}
}
//输出
for(i = 0;i <= n;i++){
if(i == 0&&sum[i] == 0){
continue;
}
printf("%d",sum[i]);
}
printf("\n");
}
return 0;
}
/*********************************
* 日期:2013-1-26
* 作者:SJF0115
* 题号: 九度1051
* 题目:数字阶梯求和
* 来源:http://ac.jobdu.com/problem.php?pid=1051
* 结果:AC
* 题意:
* 总结:等价于n*a + (n-1)*a + ..... + a 数值大只能用数组存储
**********************************/
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,n,i,j;
//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);
while(scanf("%d %d",&a,&n)!=EOF)
{
int sum[101] = {0};
int num,k,c;
for(i = n;i >= 1;i--){
num = a*i;
k = i;
while(num){
c = sum[k] + num;
sum[k] = c % 10;
num = c / 10;
k--;
}
}
//输出
for(i = 0;i <= n;i++){
if(i == 0 && sum[0] == 0){
continue;
}
printf("%d",sum[i]);
}
printf("\n");
}
return 0;
}