b=b+a;
sum=sum+b;
a=a*10;
++i;
}
System.out.println("inputnumber:
"+n);
System.out.println(sum);
}
}
/*【程序9】
题目:
一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000以内的所有完数。
*/
package.flywater.FiftyAlgorthm;
publicclassNinthWanshu{
publicstaticvoidmain(String[]args){
System.out.println("1到1000的完数有:
");
for(inti=1;i<1000;i++){
intt=0;
for(intj=1;j<=i/2;j++){
if(i%j==0){
t=t+j;
}
}
if(t==i){
System.out.print(i+"");
}
}
}
}
/*【程序10】
作者若水飞天
题目:
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,
求它在第10次落地时,共经过多少米?
第10次反弹多高?
*/
package.flywater.FiftyAlgorthm;
publicclassTenthTreeFall{
staticdoubleheight=100;
staticdoubledistance=100;
publicstaticvoidmain(String[]args){
for(inti=1;i<10;i++){
distance=distance+height;
height=height/2;
}
System.out.println("路程:
"+distance);
System.out.println("高度:
"+height/2);
}
}
/*【程序11】
*作者若水飞天
题目:
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
1.程序分析:
可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
*/
/*算法:
3个for循环加一个if语句;
*
*/
package.flywater.FiftyAlgorthm;
publicclassEleventhNumberRange{
publicstaticvoidmain(String[]args){
intcount=0;
for(intx=1;x<5;x++){
for(inty=1;y<5;y++){
for(intz=1;z<5;z++){
if(x!
=y&&y!
=z&&x!
=z){
count++;
System.out.print(x*100+y*10+z+"");
if(count%4==0){
System.out.println();
}
}
}
}
}
System.out.println("共有"+count+"个三位数");
}
}
/*【程序12】
*作者若水飞天
题目:
企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,
可可提成7.5%;20万到40万之间时,高于20万元的部分,
可提成5%;40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,
从键盘输入当月利润I,求应发放奖金总数?
1.程序分析:
请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
*/
/*注意:
要精确到小数点后多少位,用DecimalFormatdf=newDecimalFormat("#0.0000");
*
*/
package.flywater.FiftyAlgorthm;
importjava.text.DecimalFormat;
importjava.util.*;
publicclassTwelfthProfitAward{
staticdoubleprofit=0;
staticdoubleaward=0;
publicstaticvoidmain(String[]args){
Scanners=newScanner(System.in);
profit=s.nextInt();
System.out.println("输入的利润是"+profit+"万");
if(profit>0&&profit<=10){
award=profit*0.1;
}elseif(profit>10&&profit<=20){
award=10*0.1+(profit-10)*0.075;
}elseif(profit>20&&profit<=40){
award=10*0.1+10*0.075+(profit-20)*0.05;
}elseif(profit>40&&profit<=60){
award=10*0.1+10*0.075+20*0.05+(profit-40)*0.03;
}elseif(profit>60&&profit<=100){
award=20*0.175+20*0.05+20*0.03+(profit-60)*0.015;
}elseif(profit>100){
award=20*0.175+40*0.08+40*0.015+(profit-100)*0.01;
}
DecimalFormatdf=newDecimalFormat("#0.00000");
System.out.println("应该提取的奖金是"+df.format(award)+"万");
}
}
/*【程序13】
*作者若水飞天
题目:
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:
在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,
如果开方后的结果满足如下条件,即是结果。
请看具体分析:
*/
package.flywater.FiftyAlgorthm;
publicclassThirteenthTwiceSqrt{
publicstaticvoidmain(String[]args){
for(longl=1L;l<100000;l++){
if(Math.sqrt((long)(l+100))%1==0){
if(Math.sqrt((long)(l+268))%1==0){
System.out.println(l+"加100是一个完全平方数,再加168又是一个完全平方数");
}
}
}
}
}
*【程序14】
*作者若水飞天
题目:
输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:
以3月5日为例,应该先把前两个月的加起来,
然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
*/
package.flywater.FiftyAlgorthm;
importjava.util.Scanner;
importjava.io.*;
publicclassFourteenthYearMonthDay{
publicstaticvoidmain(String[]args){
intyear,month,day;
intdays=0;
intd=0;
FourteenthYearMonthDayfymd=newFourteenthYearMonthDay();
System.out.print("Inputtheyear:
");
year=fymd.input();
System.out.print("Inputthemonth:
");
month=fymd.input();
System.out.print("InputTheDay:
");
day=fymd.input();
if(year<0||month<0||month>12||day<0||day>31){
System.out.println("Inputerror,pleaserunthisprogramagain!
");
System.exit(0);
}
for(inti=1;iswitch(i){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;
//d+=days;
break;
case4:
case6:
case9:
case11:
days=30;
//d+=days;
break;
case2:
if((year%400==0)||(year%4==0&&year%100!
=0)){
days=29;
}else{
days=28;
}
//d+=days;
break;
}
d+=days;
}
System.out.println(year+":
"+month+":
"+day+"是今年的第"+(d+day)