20200418

1.五次方数
题目描述
对一个数十进制表示时的每一位数字乘五次方再求和,会得到一个数的五次方数
例如:1024的五次方数为1+0+32+1024=1057
有这样一些神奇的数,它的五次方数就是它自己,而且这样的数竟然只有有限多个
从小到大输出所有这样的数

输入

输出
每个数独立一行输出
样例输入

样例输出

先普及一个pow()函数的使用
pow() 函数用来求 x 的 y 次幂(次方),其原型为:
double pow(double x, double y);
这个题最关键是循环次数的设置,设过1e6,1e9等等都时间超限,其实在自己本地的编译器先跑一下,发现最大的数是194979,循环200000次就够了。另外,此题0和1不算。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll sum=0;
int main(){
	for(int i=2;i<=200000;i++){
		int a=i;
		while(a){
			sum+=pow(a%10,5);
			if(sum>i)
				break;
			a=a/10;
		}
		if(sum==i)
			cout<<sum<<endl;
		sum=0;
	}
	return 0;
}

2.利息计算
题目描述
编制程序完成下述任务:接受两个数,一个为用 户一年期定期存款金额,一个为按照百分比格式表示的利率;程序计算一年期满后本金与利息总额。说明:(1)存款金额以人民币元为单位,可能精确到分; (2)输入利率时不需要输入百分号,例如一年期定期存款年利率为2.52%,用户输入2.52即可;(3)按照国家法律,存款利息所得需缴纳20% 的所得税,计算结果时所得税部分应扣除。
输入
输入一行,包含两个实数,分别表示本金和年利率。
输出
输出一行,包含一个实数,保留到小数点后两位,表示一年后的本金与利息和。
样例输入
10000 2.52
样例输出
10201.60

这个题主要两个点:
1.要看清题,是哪个数来算利息所得税
2.重要的是,fixed和setprecision()连用指定浮点数字的小数点后要显示的位数,而setprecision单用表示要显示的总有效数字位数

#include <bits/stdc++.h>
using namespace std;
int main(){
	float a,b; //本金和年利率
	cin>>a>>b;
	float sum=a+a*b*0.01;
	cout<<fixed<<setprecision(2)<<sum-a*b*0.01*0.2<<endl;
	return 0;
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值