1、题目:
判断101-200之间有多少个素数,并输出所有素数。
程序分析:
判断素数的方法为用一个数分别去除以2到sqrt(这个数),如果能够被整除,则表明次数不是素数,反之则是素数。

public class test1{public static void mian(String[] args) {int count = 0;for(int i = 101; i < 200; i + =2) {boolean flag = true;for(int j = 2; j <= Math.sqrt(i); j ++) {if(i % j == 0) {flag = false;break;}}if(flag) {count ++;System.out.println(i);}}System.out.println(count);}
}

2、题目:
打印出所有的“水仙花数”, 所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数字本身。

public class test2 {public static void main(String[] args) {int a, b, c;for(int i = 101; i < 100 ; i ++) {a = i%10;b = i/10%10;c = i/100;if(a*a*a + b*b*b + c*c*c == i) {System.out.println(i);}}}
}

3、题目:将一个正整数分解质因数。
程序分析:对n进项分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

import java.util.Scanner;
public class test3 {public static void mian(String[] args) {Scanner input = new Scanner(System.in);int n = input.nextInt();int k = 2;while(n > = k) {if(n == k) {System.out.println(k);break;} else if (n % k ==0) {System.out.println(k);n = n/k;} else {k ++}}}
}

4、题目:
利用条件运算符的嵌套来完成此题:学习成绩>= 90分的同学用A表示,60-89分之间的用B表示60分以下的用C表示。

import java.util.Scanner;
public class test4 {public static void main(String[] args) {Scanner input = new Scanner(System.in);int score = input.nextInt();char grade = score >= 90 ? 'A' : scope >= 60 ?‘B’ :‘C’;System.out.println(grade);}
}

5、题目:
输入两个正整数m和n, 求其最大公约数和最小公倍数。
解析:在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一循环的大数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。

import java.util.Scanner;
public class test5 {public static void main(String[] args) {Scanner input =new Scanner(System.in);int a=input.nextInt();int b=input.nextInt();test06 test=new test06();int i = test.gongyinshu(a, b);System.out.println("最小公因数"+i);System.out.println("最大公倍数"+a*b/i);}public int gongyinshu(int a,int b) {if(a<b) {int t=b;b=a;a=t;}while(b!=0) {if(a==b)return a;int x=b;b=a%b;a=x;}return a;}
}

6、题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

import java.util.Scanner;
public class test6 {public static void main(String[] args) {int abccount=0;int spacecount=0;int numcount=0;int othercount=0;Scanner input=new Scanner(System.in);String toString=input.nextLine();char [] ch=toString.toCharArray();for(int i=0;i<ch.length;i++) {if(Character.isLetter(ch[i])) {abccount++;}else if(Character.isDigit(ch[i])) {numcount++;}else if(Character.isSpaceChar(ch[i])){spacecount++;}else {othercount++;}}System.out.println(abccount);System.out.println(spacecount);System.out.println(numcount);System.out.println(othercount);}
}

7、题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。

import java.util.Scanner;
public class test7 {public static void main(String[] args) {Scanner input=new Scanner(System.in);int a=input.nextInt();int n=input.nextInt();int sum=0,b=0;for(int i=0;i<n;i++) {b+=a;sum+=b;a=a*10;}System.out.println(sum);}
}

8、题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。编程找出1000以内的所有完数。

public class test8 {public static void main(String[] args) {for(int i=1;i<=1000;i++) {int t = 0;for(int j=1;j<=i/2;j++) {if(i%j==0) {t+=j;}}if(t==i) {System.out.println(i);}}}
}

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

public class test9 {public static void main(String[] args) {double h=100;double s=100;for(int i=1;i<=10;i++) {h=h/2;s=s+2*h;}System.out.println(s);System.out.println(h);}
}

10、题目:有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数,并把他们都输出出来。

public class test10 {public static void main(String[] args) {int count=0;for(int i=1;i<5;i++) {for(int j=1;j<5;j++) {for(int k=1;k<5;k++) {if(i!=j&&j!=k&&i!=k) {count++;System.out.println(i*100+j*10+k);}}}}System.out.println(count);}
}

11、题目:企业发放的奖金根据利润提成。利润(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%提成,从键盘输入当月利润,求应发放奖金总数

public class test11 {
public static void main(String[] args) {Scanner input =new Scanner(System.in);double x=input.nextDouble();double y=0;if(x>0&&x<=10) {y=x*0.1;}else if (x>10&&x<=20) {y=10*0.1+(x-10)*0.075;}else if (x>20&&x<=40) {y=10*0.1+10*0.075+(x-20)*0.05;}else if (x>40&&x<=60) {y=10*0.1+10*0.075+20*0.05+(x-40)*0.03;} else if (x>60&&x<=100) {y=10*0.1+10*0.075+20*0.05+20*0.03+(x-60)*0.015;}else if (x>100) {y=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(x-100)*0.01;}System.out.println(y);}}

12、题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

public class test12 {public static void main(String[] args) {for(int i=-100;i<10000;i++) {if(Math.sqrt(i+100)%1==0&&Math.sqrt(i+268)%1==0) {System.out.println(i);}}}
}

13、题目:输入某年某月某日,判断这一天是这一年的第几天?

import java.util.*;
public class test13 {public static void main(String[] args) {    int year, month, day;     int days = 0;     int d = 0;     int e;    input fymd = new input();     do {     e = 0;     System.out.print("输入年:");     year =fymd.input();     System.out.print("输入月:");     month = fymd.input();     System.out.print("输入天:");     day = fymd.input();     if (year < 0 || month < 0 || month > 12 ||day < 0 || day > 31) {System.out.println("输入错误,请重新输入!");     e=1 ;     }     }while( e==1);for (int i=1; i <month; i++) {switch (i) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:days = 31;break;case 4:case 6:case 9:case 11:days = 30;break;case 2:if ((year % 400 == 0) || (year % 4 == 0&& year % 100 != 0)) {days = 29;} else {days = 28;}break;}d += days;}System.out.println(year + "-" + month +"-" + day + "是这年的第" +(d+day) + "天。");}
}
class input{public int input() {int value = 0;Scanner s = new Scanner(System.in);value = s.nextInt();return value;}
}

14、题目:输入三个整数x,y,z,请把这三个数由小到大输出。

import java.util.Scanner;
public class test14 {public static void main(String[] args) {Scanner input=new Scanner(System.in);int x=input.nextInt();int y=input.nextInt();int z=input.nextInt();int t=0;if(x>y) {t=x;x=y;y=t;}if(y>z) {t=z;z=y;y=t;}if(x>y) {t=x;x=y;y=t;}System.out.println(x+""+y+""+z);}
}

15、题目:输出9*9口诀。

public class test15 {public static void main(String[] args) {for(int i=1;i<10;i++){for(int j=1;j<=i;j++) {System.out.print(i+"*"+j+"="+i*j);System.out.print(" ");}System.out.println("");}}
}

16、题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

public class test16 {public static void main(String[] args) {int x=1;for(int i=10;i>1;i--) {x=(x+1)*2;}System.out.println(x);}
}

17、题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

public class test17 {public static void main(String[] args) {for(char i='x';i<='z';i++) {for (char j='x';j<='z';j++) {if(i!=j) {for(char k='x';k<='z';k++) {if(i!=k&&j!=k) {if(i!='x'&&j!='x'&&j!='z') {System.out.println("a:"+i+"\nb:"+j+"\nc:"+k);}}}}}}}}

18、题目:打印出图案(菱形)

public class test18 {public static void main(String[] args) {int H = 7, W = 7;//高和宽必须是相等的奇数for(int i=0; i<(H+1) / 2; i++) {for(int j=0; j<W/2-i; j++) {System.out.print(" ");}for(int k=1; k<(i+1)*2; k++) {System.out.print('*');}System.out.println();}for(int i=1; i<=H/2; i++) {for(int j=1; j<=i; j++) {System.out.print(" ");}for(int k=1; k<=W-2*i; k++) {System.out.print('*');}System.out.println();}}
}

19、题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。

public class test19 {public static void main(String[] args) {double sum=0,ver=2;for(int i=1;i<=10;i++) {sum+=ver/i;   ver+=i;}System.out.println(sum);}
}

20、题目:求1+2!+3!+…+20!的和

public class test20 {public static void main(String[] args) {long sum=0,ver=1;for(int i=1;i<=20;i++) {ver=ver*i;sum+=ver;}System.out.println(sum);}
}

21、题目:利用递归方法求5!。

public class test21 {public static void main(String[] args) {System.out.println(fac(5));}public static int fac(int i) {if(i==1) {return 1;} else {return i*fac(i-1);}}
}

22、题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

public class test22 {public static void main(String[] args) {int age=10;for(int i=2;i<=5;i++) {age+=2;}System.out.println( age);}
}

23、题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
//使用了长整型最多输入18位

import java.util.Scanner;
public class test23 {public static void main(String[] args) {Scanner input=new Scanner(System.in);String toString=input.nextLine();char[] num=toString.toCharArray();System.out.println(num.length);for(int i=num.length;i>0;i--) {System.out.print(num[i-1]);}}
}

24、题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

import java.util.Scanner;public class test24 {public static void main(String[] args) {Scanner input =new Scanner(System.in);int numtest=input.nextInt();System.out.println(ver(numtest));}public static boolean ver(int num) {if(num<0||(num!=0&&num%10==0))return false;int ver=0;while(num>ver) {ver=ver*10+num%10;num=num/10;}return(num==ver||num==ver/10);}
}

java基础之经典算法总结篇相关推荐

  1. 《异常检测——从经典算法到深度学习》5 Opprentice——异常检测经典算法最终篇

    <异常检测--从经典算法到深度学习> 0 概论 1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法 3 基于One-Class SVM的异常检测算法 4 基于高斯概率密度异常检测 ...

  2. Java中的经典算法之冒泡排序(Bubble Sort)

    Java中的经典算法之冒泡排序(Bubble Sort) 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2 ...

  3. Java基础知识回顾之七 ----- 总结篇

    前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...

  4. JAVA基础(三)-面试篇

    系列文章目录 JAVA基础系列只是列出博主在刷牛客JAVA转项练习的总结 JAVA基础篇一:继承.多态.导包问题 .排序.变量初始值等 JAVA基础篇二:父子类问题.Map空值问题.异常.真假问题等 ...

  5. JAVA基础(一)-面试篇

    系列文章目录 JAVA基础系列只是列出博主在刷牛客JAVA转项练习的总结 JAVA基础篇一:继承.多态.导包问题 .排序.变量初始值等 JAVA基础篇二:父子类问题.Map空值问题.异常.真假问题等 ...

  6. 抖音mysql_抖音四面,复盘总结48题:Java基础+Spring+多线程+算法+MySQL+分布式

    Java岗面试的重点: 数据结构与算法,JVM内存结构.垃圾回收器.回收算法.GC.并发编程相关(多线程.线程池等).NIO/BIO.性能优化.设计模式.Spring框架:分布式相关:Redis缓存. ...

  7. java基础----数据结构与算法----Java API:集合 以及 排序相关API

    概述: 基本数据结构与算法在jdk中都有相应的API 数组+java.util.Arrays java中的集合类 Collection-->List+Set-->接口的实现类 Map   ...

  8. Java之HashMap经典算法-红黑树(插入节点平衡调整,左旋转,右旋转)

    1. 红黑树的优势 有了二叉搜索树,为什么还需要平衡二叉树? 二叉搜索树容易退化成一条链,这时,查找的时间复杂度从 O(log2N)O(log_2N)O(log2​N) 将退化成 O(N)O(N )O ...

  9. 转:JAVA十大经典算法总结

    0.排序算法说明 ·0.1 排序的定义  对一序列对象根据某个关键字进行排序. ·0.2 术语说明 ·稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面: ·不稳定 :如果a原本在b的前面 ...

最新文章

  1. python格式化字符串_Python的3种字符串格式化方法,哪种你最喜欢?
  2. 六 Lync Server 2013 部署指南-OWA服务器部署
  3. 英伟达的STEAL AI让神经网络拥有更好的计算机视觉
  4. Rsync服务让SLB下多台centos服务器文件同步更新
  5. Postgresql数据库主从备份教程
  6. c语言函数求pi的近似值,C语言 用π/4=1-1/3+1/5-1/7+... 求π的近似值
  7. 【安卓开发】项目的目录结构分析
  8. 面试题系列-Spring连环10问
  9. ubuntu 删除opencv4_ubuntu16.04 卸载重装Opencv
  10. 【Unity】 NGUI学习笔记(二)NGUI基础功能
  11. python第二版答案第六章_Python语言程序设计基础(第2版) 课后题 第六章
  12. python 读取excel表内容:以获取高铁站点经纬度为例子
  13. matlab符号表达式vpa,Matlab符号运算总结
  14. 关于2013年1月21日的DNS故障分析文章
  15. 树莓派Ubuntu21.04,树莓派4b/4g,Python3.9.5搭建PyTorch
  16. unity scripting backend mono vs il2cpp
  17. Unity3d中UGUI组件精简复盘(十八)Aspect Ratio Fitter组件
  18. 微信点餐系统中出现的小问题记录
  19. 辛钦大数定理(揭示了均值和数学期望的关系)
  20. MILABOT:基于深度强化学习打造聊天机器人

热门文章

  1. 网络请求框架:Okhttp:Call对象实现请求源码解析【四】
  2. matlab复数的相位,复数的幅值和相位
  3. 编程基础 二进制 解密
  4. 关于蓄电池监控厂家!
  5. hadoop集群配置记录
  6. html5 即时生成图片,HTML5 canvas生成图片马赛克特效插件
  7. 最强大的主动扫描工具-Nmap
  8. Gitlab 项目迁移
  9. 【STM32】时钟系统知识
  10. 万字剖析 Armv8 架构虚拟化