3.17 求Sn=a+aa+aaa+···+aa···a之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n由键盘输入。

答案:

1、在第一次是加了一个a,第二次是加了两个a(还有前面的a),第n次加n个a(以及前面的所有项),这里我们可以用for语句来达到加几个的目的。

for(i=1,i<=n;i++)//n是我们从键盘输入的
2、如何来表达a、aa、aaa呢?我们可以找规律:a*10+a=aa,而aa*10+a=aaa,在代码里我们可以用一个变量(t)来接收它。t=t*10+a;
3、求a+aa+aaa的值(因为上面我们用t来表示a、aa、aaa所以我们只要累积t的值相加就可以了)

#include <iostream>
using namespace std;
int main()
{
   int a,i,n,t=0,Sn=0;
   cout<<"Please input a:";
   cin>>a;
   cout<<"Please input n:";
   cin>>n;
   for(i=1;i<n+1;i++)
   {
   t=10*t+a;
   Sn=t+Sn;
   }
    cout<<"the Sn is:"<<Sn<<endl;
	return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值