写点什么

Java 经典算法题(二)

  • 2021 年 11 月 11 日
  • 本文字数:1214 字

    阅读完需:约 4 分钟

1.程序分析:关键是计算出每一项的值。


import java.io.*;


public class Sumloop {


public static void main(String[] args) throws IOException


{


int s=0;


String output="";


BufferedReader stadin = new BufferedReader(new InputStreamReader(System.in));


System.out.println("请输入 a 的值");


String input =stadin.readLine();


for(int i =1;i<=Integer.parseInt(input);i++)


{


output+=input;


int a=Integer.parseInt(output);


s+=a;


}


System.out.println(s);


}


}


【程序 9】 题目:一个数如果恰好等于它的因子之和,这个数就称为 “完数 “。例如 6=1+2+3.编程 找出 1000 以内的所有完数。


p


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


ublic class Wanshu {


public static void main(String[] args)


{


int s;


for(int i=1;i<=1000;i++)


{


s=0;


for(int j=1;j<i;j++)


if(i % j==0)


s=s+j;


if(s==i)


System.out.print(i+" ");


}


System.out.println();


}


}


【程序 10】 题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第 10 次落地时,共经过多少米?第 10 次反弹多高?


public class Ex10 {


public static void main(String[] args)


{


double s=0;


double t=100;


for(int i=1;i<=10;i++)


{


s+=t;


t=t/2;


}


System.out.println(s);


System.out.println(t);


}


}


【程序 11】 题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?


1.程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。


public class Wanshu {


public static void main(String[] args)


{


int i=0;


int j=0;


int k=0;


int t=0;


for(i=1;i<=4;i++)


for(j=1;j<=4;j++)


for(k=1;k<=4;k++)


if(i!=j && j!=k && i!=k)


{t+=1;


System.out.println(i100+j10+k);


}


System.out.println (t);


}


}


【程序 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.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。


import java .util.*;


public class test {


public static void main (String[]args){


double sum;//声明要储存的变量应发的奖金


Scanner input =new Scanner (System.in);//导入扫描器


System.out.print ("输入当月利润");


double lirun=input .nextDouble();//从控制台录入利润


if(lirun<=100000){


sum=lirun*0.1;


}else if (lirun<=200000){


sum=10000+lirun*0.075;


}else if (lirun<=400000){


sum=17500+lirun*0.05;


}else if (lirun<=600000){


sum=lirun*0.03;

评论

发布
暂无评论
Java经典算法题(二)