若Sn=1+11+111+1111+……+n个1,输入n,想要得到Sn的值,怎么编写程序(C++)
n如果很大的话,只怕用整型浮点型啥的都不够啊。有限定n的范围吗?
int func(int a,int n);
int main(void)
{
int su=0;
int i,n,a=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
su=su+func(a,i);
printf ("%d\n",su);
return 0;
}
int func(int a,int n)
{
int i,k=0;
for(i=1;i<=n;i++)
k=a+k*10;
return k;
}
这个取决于数据范围,数据范围大的话可能需要高精度
等我找找高精度
用字符串处理