2017.8.6每天五个编程题(二)
来源:互联网 发布:山西农业大学软件学院 编辑:程序博客网 时间:2024/06/11 15:18
第六题:输入两个正整数m和n,求其最大公约数和最小公倍数。
package test11;import java.util.Scanner;public class Test6 {/** * 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数, * 取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返 回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。 */public static void main(String[] args) {System.out.println("输入一个整数:");Scanner sc = new Scanner(System.in);int a = sc.nextInt();System.out.println("请再输入一个整数:");int b = sc.nextInt();deff de = new deff();int m=de.deff(a, b);int n=a*b/m;System.out.println(a+"和"+b+"的最小公倍数是:"+n+"。最大公约数是:"+m);}static class deff {public int deff(int x, int y) {int num;if (x < y) {num = x;x = y;y = num;}while (y != 0) {if (x == y) {return x;} else {int k = x % y;x = y;y = k;}}return x;}}}
运行结果:
第七题:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
package test11;import java.util.Scanner;public class Test7 {public static void main(String[] args) {int digital = 0;int character = 0;int other = 0;int blank = 0;System.out.println("请输入内容:");Scanner scanner = new Scanner(System.in);String s = scanner.nextLine();char[] cs = s.toCharArray();for (int i = 0; i < cs.length; i++) {if (cs[i]>='0'&&cs[i]<='9') {digital++;}else if (cs[i]>='a'&&cs[i]<='z') {character++;}else if (cs[i]==' ') {blank++;}else {other++;}}System.out.println("这串字符串共有数字"+digital+"个,字母"+character+"个,空格"+blank+"个,其他字符"+other+"个。");}}
运行结果:
第八题:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
package test11;import java.util.Scanner;public class Test8 {/* * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。 * 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 **/public static void main(String[] args) {Scanner scanner =new Scanner(System.in);int sum = 0;int sum1 = 0;System.out.println("请输入一个数字:");int n = scanner.nextInt();System.out.println("请输入他要加多少次:");int m = scanner.nextInt();int i =1;while (i<=m) {int j=0;j+=n;sum+=j;sum1+=sum;n*=10;++i;}System.out.println(sum1);}}
运行结果:
第九题:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
package test11;public class Test9 {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);}}}}
运行结果:
第十题:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
package test11;public class Test10 {public static void main(String[] args) {int s =100;int h = 100;for (int i = 0; i < 10; i++) {s+=h;h=h/2;}System.out.println("路程为"+s+"高度为"+h);}}
运行结果:
阅读全文
0 0
- 2017.8.6每天五个编程题(二)
- 2017.8.7每天五个编程题(三)
- 2017.8.8每天五个编程题(四)
- 2017.8.9每天五个编程题(五)
- 2017.8.10每天五个编程题(六)
- 2017.8.16每天五个编程题(九)
- 2017.8.17每天五个编程题(十)
- 2017.8.21每天五个编程题(七、八)
- 每天五个java相关面试题(6)--jsp篇
- c++基础五个题(二)
- Java编程思想之每天两小时(二)
- 每天五个番茄时间
- 每天五个linux命令
- 每天五个java相关面试题(1)--struts2部分
- 每天五个java相关面试题(2)
- 每天五个java相关面试题(3)
- 每天五个java相关面试题(4)
- 每天五个java相关面试题(7)--线程篇
- 2017年8月8日训练日记
- 继承那些事儿
- HDU 2089 不要62
- bash(1) 循环
- IO流——切割流
- 2017.8.6每天五个编程题(二)
- 【C语言】算法知识点
- JavaScript学习笔记(函数与作用域)
- myeclipse导入项目报错Target runtime Apache Tomcat v8.0 is not defined
- 数据结构实验之二叉树三:统计叶子数
- Redis新手快速入门(一)
- Markdown的使用(语法基础)
- ReactNative——UI2.组件生命周期
- EU4-31: Explaining a problem