一、 算法提高 五次方数
时间限制:1.0s 内存限制:256.0MB
提交此题
问题描述
对一个数十进制表示时的每一位数字乘五次方再求和,会得到一个数的五次方数
例如:1024的五次方数为1+0+32+1024=1057
有这样一些神奇的数,它的五次方数就是它自己,而且这样的数竟然只有有限多个
从小到大输出所有这样的数
输出格式
每个数独立一行输出
样例输出
10
200
3000
#include<stdio.h>
#include<math.h>
int main()
{
int i,n,sum;
for(i=10;i<354294;i++)
{
n=i;
sum=0;
while(n!=0)
{
sum+=pow((n%10),5);
n=n/10;
}
if(sum==i)
{
printf("%d\n",i);
}
}
return 0;
}
二、 算法提高 陶陶摘苹果
时间限制:1.0s 内存限制:256.0MB
提交此题
问题描述
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出n个苹果。苹果成熟的时候,
陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知n个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请
帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
输入格式
输入包括两行数据。第一行只包括两个正整数n(5<=n<=200)和m(100<=m<=150),表示苹果数目和
桃桃伸手可达到的高度(以厘米为单位)。第二行包含n个100到200之间(包括100和200)的整
数(以厘米为单位)分别表示苹果到地面的高度,两个相邻的整数之间用一个空格隔开。
输出格式
输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
样例输入
10 110
100 200 150 140 129 134 167 198 200 111
样例输出
5
#include<stdio.h>
int main(){
int n,m,flag=0;
scanf("%d%d",&n,&m);
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
if(m+30>=a[i]){
flag++;
}
}
printf("%d",flag);
return 0;
}
三、 算法提高 3-2求存款
时间限制:1.0s 内存限制:256.0MB
提交此题
问题描述
见计算机程序设计基础(乔林)P50第5题。
接受两个数,一个是用户一年期定期存款金额,一个是按照百分比格式表示的利率,计算一年期满后的本金与利息总额。
说明:(1) 存款金额以人民币元为单位,精确到分;(2) 输入利率时不输入百分号,例如利率为3.87%,用户直接输入3.87;
(3) 按照国家法律,存储利息所得需缴纳5%的所得税,计算结果时应当扣除所得税。(4) 显示的结果精确到人民币分。
注意:数据须用float表示;计算结果须保存到一个float变量中,再用printf输出。
输入格式
一行,以一个空格隔开的两个浮点数。
输出格式
一个浮点数。
样例输入
5000.00 5.00
样例输出
5237.50
数据规模和约定
输入数据中每一个数的范围。本金<100000000,利息<100
#include "stdio.h"
int main()
{
float a,b,sum=0;
scanf("%f%f",&a,&b);
b=b*0.01;
sum=0.05*a*b;
printf("%.2f\n",a+a*b-sum);
return 0;
}