7-78 特殊a串数列求和 (20分)
给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。
输入格式:
输入在一行中给出不超过9的正整数a和n。
输出格式:
在一行中按照“s = 对应的和”的格式输出。
输入样例:
2 3
输出样例:
s = 246
在这里,如果将sum设成double类型,必须控制最后输出的位数,否则有一个测试点出错。如果设成int类型也对,不过自己有些疑问,因为如果是9位就超出了int的范围。。
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
/* 给定两个均不超过9的正整数a和n,要求编写程序求
a+aa+aaa++..+aa..a(n个a)之和。*/
int main(){
double sum=0,t=0;
int n,a;
cin>>a>>n;
for(int i=0;i<n;i++){
t=t+a*pow(10,i);
sum=sum+t;
}
cout<<"s = "<<fixed<<setprecision(0)<<sum;
return 0;
}