【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。
素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。
[java] view plaincopy
1. public class Example2 {
2. public static void main(String args[]){
3. int i,j,n,m,x; //n是用来存储余数的;m是用来统计具体一个数的因子;
4. n=0;m=0;x=0; //x是用来统计101~200之前素数的个数 5. for(i=101;i<=200;i++){ //两重循环 6. for(j=1;j<=i;j++){
7. n=i%j; //去余数,如果余数为零,就是该数的因子 8. if(n==0) { m=m+1; } //统计某数有多少个因子 9. }
10. if(m==2){System.out.print(i+\如果某数的因子只有两个,那它就一定是素数,那这个数就应该输出
11. m=0; //一定要清零,不然会继续累加 12. }
13. System.out.println();
14. System.out.println(\在101~200之間一共有素數:\個\15. } 16. }
我好笨啊,这题我做了两个钟头,最终还是解决了。加油
【程序3】
题目:打印出所有的\水仙花数(narcissus)\,所谓\水仙花数\是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个\水仙花数\,因为153=1的三次方+5的三次方+3的三次方。想当年,做这些题都是网上找答案,如今事过境迁,不会也得会。 [java] view plaincopy 1. 2. 3. 4. 5. 6. 7. 8.
public class Example3 {
public static void main(String args[]){ int a,sum; //表示100~999
int i,j,k;//分别表示百位、十位、各位 for(a=100;a<=999;a++){ i=a/100;
j=(a-i*100)/10; k=a-i*100-j*10;
9. sum=i*i*i+j*j*j+k*k*k;
10. //java的运算符,立方要这样写,写成i^3这样,竟然运算不出来 11. //如果遇到高次的话可以使用循环算出来 12. if(sum==a)
13. { System.out.println(sum); 14. } 15. 16. }
还是有学到点东西,应该还有别的方法。那我就试
试吧。
[java] view plaincopy
1. public class Example4 {
2. public static void main(String args[]){ 3. int sum;
4. int i,j,k;//分别表示百位、十位、各位 5. for(i=1;i<=9;i++){ 6. for(j=0;j<=9;j++){ 7. for(k=0;k<=9;k++){
8. sum=i*i*i+j*j*j+k*k*k; 9. if(i*100+j*10+k==sum){ 10. System.out.println(sum); 11. } 12. } 13. } 14. } 15. 16. } 17. }
【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新
的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 [java] view plaincopy
1. import java.util.*;
2. public class Example4{
3. public static void main(String[] args){ 4. int x;
5. Scanner in = new Scanner(System.in);//定义从键盘输入 6. System.out.print(\请输入一个正整数:\提示 7. x = in.nextInt(); //将从键盘输入的数赋值给x
8. new PrimeSplit(x); //匿名初始化一个对象,还有参数的构造函数 9. } 10. }
11. class PrimeSplit{
12. int k = 2; //将最小的质数赋值给k
13. public PrimeSplit(int x){ //小于等于1的数不可以分解 14. if(x<=1){
15. System.out.println(x+\是无效的被分解数\16. }
17. else if(x==2){
18. System.out.println(x+\分解后的质因数为: 1*\如果输入的是最小质数2, 19. }else {
20. System.out.print(x+\分解后的质因数为: 1\是所有的正整数的质数
21. while(k<=x){ //输入的数可以被k整除 22. if(x%k==0){
23. System.out.print(\将k添加到结果中 24. x = x/k;//除以最小质数后重新循环 25. } 26. else{ 27. k++; 28. } 29. } 30. } 31. } 32. }
【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下 的用C表示。 [java] view plaincopy
1. public class Example5 {
2. public static void main(String args[]){
3. int score=90; //分数的值可以随便修改 4. if(score>=90){
5. System.out.println(\6. }
7. else if(score>=60){
8. System.out.println(\9. } 10. else{
11. System.out.println(\12. } 13. 14. } 15. }
【程序6】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 [java] view plaincopy 1. 2. 3. 4. 5. 6. 7. 8.
public class Example6 {
public static void main(String args[]){ gcdlcm a =new gcdlcm();
System.out.println(\兩數的最大公約數是:\ System.out.println(\兩數的最小公倍數是:\ } }
class gcdlcm{

