1、 boolean b = false; for(int j=2; j=Math.sqrt(i); j+) if(i % j = 0) b = false; break; else b = true; if(b = true) count +;System.out.println(i ); System.out.println( 素数个数是: + count);【程序3】打印出所有的 水仙花数 ,所谓 是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 ,因为153=1的三次方5的三次方3的三次方。public class lianxi03 int b1, b2, b3; for(
2、int m=101; m1000; m+) b3 = m / 100; b2 = m % 100 / 10; b1 = m % 10; if(b3*b3*b3 + b2*b2*b2 + b1*b1*b1) = m) System.out.println(m+是一个水仙花数【程序4】将一个正整数分解质因数。输入90,打印出90=2*3*3*5。对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n
3、不能被k整除,则用k+1作为k的值,重复执行第一步。import java.util.*;public class lianxi04 public static void main(String args) Scanner s = new Scanner(System.in); System.out.print( 请键入一个正整数: int n = s.nextInt(); int k=2; System.out.print(n + = ); while(k =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。public class lianxi05 int x; ch
4、ar grade;请输入一个成绩: x = s.nextInt(); grade = x = 90 ? A : x = 60 ?BC;等级为:+grade); 【程序6】输入两个正整数m和n,求其最大公约数和最小公倍数。/*在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。* / lianxi06 int a ,b,m;Scanner s = new Scanner(System.in);System.out.print( 键
5、入一个整数:a = s.nextInt();再键入一个整数:b = s.nextInt(); deff cd = new deff(); m = cd.deff(a,b); int n = a * b / m;最大公约数: + m);最小公倍数: + n);class deffpublic int deff(int x, int y) int t; if(x = 0 & ch az) | ch Z character +; else if(ch = blank +; else other +;数字个数: + digital);英文字母个数: + character);空格个数: + blank
6、);其他字符个数: + other );【程序8】求s=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。public class lianxi08 long a , b = 0, sum = 0; System.out.print(输入数字a的值: a = s.nextInt();输入相加的项数: int n = s.nextInt(); int i = 0; while(i n) b = b + a; sum = sum + b; a = a * 10; + i; System.out.pri
7、ntln(sum);【程序9】一个数如果恰好等于它的因子之和,这个数就称为 完数 。例如6=123.编程 找出1000以内的所有完数。public class lianxi09 1到1000的完数有: for(int i=1; int t = 0; for(int j=1;= i/2; j+) if(i % j = 0) t = t + j; if(t = i) System.out.print(i + 【程序10】一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?public class lianxi10 double
8、h = 100,s = 100;10; s = s + h; h = h / 2;经过路程: + s);反弹高度: + h / 2);【程序11】有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?public class lianxi11 for(int x=1; x5; x+) for(int y=1; y y+) for(int z=1; z 0 & x 10 &= 20) y = 10 * 0.1 + (x - 10) * 0.075; 20 &= 40) y = 10 * 0.1 + 10 * 0.075 + (x - 20) * 0.05; 40 &= 6
9、0) y = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (x - 40) * 0.03; 60 &= 100) y = 20 * 0.175 + 20 * 0.05 + 20 * 0.03 + (x - 60) * 0.015; 100) y = 20 * 0.175 + 40 * 0.08 + 40 * 0.015 + (x - 100) * 0.01;应该提取的奖金是 + y + 万【程序13】一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?public class lianxi13 for(int x =1;1000
10、00; if(Math.sqrt(x+100) % 1 = 0) if(Math.sqrt(x+268) % 1 = 0) System.out.println(x + 加100是一个完全平方数,再加168又是一个完全平方数/*按题意循环应该从-100开始(整数包括正整数、负整数、零),这样会多一个满足条件的数-99。但是我看到大部分人解这道题目时都把题中的“整数”理解成正整数,我也就随大流了。*/【程序14】输入某年某月某日,判断这一天是这一年的第几天?public class lianxi14 int year, month, day; int days = 0; int d = 0; i
11、nt e; input fymd = new input(); do e = 0;输入年: year =fymd.input();输入月: month = fymd.input();输入天: day = fymd.input(); if (year 0 | month 12 | day 31) 输入错误,请重新输入! e=1 ; while( e=1); for (int i=1; i int t = y; y = z;三个数字由小到大排列为:+x + + z);【程序16】输出9*9口诀。public class lianxi16 =i; System.out.print(j + + i + + j*i + if(j*i10)System.out.print( System.out.println();【程序17】
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1