C++练习题:


【问题描述】
输入2个正整数a和n,求a+aa+aaa+aaa(n个a)之和。例如,输入2和3,输出246(2+22+222)

【输入形式】 
 从键盘输入正整数a和正整数n。 
【输入输出样例】
Input a,n:8.5
s=98760

#include<iostream>
using namespace std;
int main()
{
	int n,a,sum,num;           
	cout<<"Input a, n: ";
	cin>>a>>n;           
	
    /*先算出总数中最大的数(n个a)aaa...a,然后每算出一个减少一位a(算n-1个a),直到算完a(1个a)这个数停止。(例如先算出aaaaaa,再到aaaaa,再到aaaa......) */

	for(int j=n;j>0;j--)     
	{
		int i=1,x=1;num=0;     //每个算出的数为num,算完要先清零再算下一个很重要
		while(i<=j)            
		{                      //从个位开始叠加到符合的num
			num+= a*x;         //等同于num=num+a*x
			x  *= 10;          //等同于x=x*10;使等会的a增加多一位数
			i++;            
		}
		//cout<<num<<endl; 用来检验相加的各个数有无出错
	
		sum+= num;            //等同于sum=sum+num;累积各个数的总和。     
	}
	
    cout<<"s="<<sum<<endl;
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值