Java 基础编程练习题(2)

2022-01-08 12:58

}

}

10、编写程序,输出 200~500 之间的所有素数。

package HomeWork10;

public class HomeWork10 {

public static void main(String[] args) {

int num=200;

while (num<=500) {

boolean tag=true; //素数标记

for(int d=2;d<=num-1;d++){

if(num % d==0){

tag=false;

break;

}

}

if(tag){ //如果是素数

System.out.println(num);

}

num++;

}

}

}

11、编写程序解决“百钱买百鸡”问题。公鸡五钱一只,母鸡三钱一只,小鸡

一钱三只,现有百钱欲买百鸡,共有多少种买法?

package HomeWork11;

public class HomeWork11 {

public static void main(String[] args) {

/* 、编写程序解决“百钱买百鸡”问题。

* 公鸡五钱一只,母鸡三钱一只,

* 小鸡 一钱三只,

* 现有百钱欲买百鸡,共有多少种买法? */

for(int g=0;g<=20;g++){

for(int m=0;m<=33;m++){

for(int x=0;x<=100-g-m;x++){

if(x % 3==0 && 5*g+m*3+x/3 == 100 && g+m+x ==100){

System.out.println("公鸡"+g+"只母鸡"+m+"只小鸡"+x+"只");

}

}

}

}

}

}

12、使用循环语句输出下面的图形。

#

# # #

# # # # #

# # # # # # #

# # # # # # # # #

package HomeWork12;

public class HomeWork12 {

public static void main(String[] args) {

int aa=-1;

for( int a=0;a<5;a++){

aa+=2;

for(int b=1;b<=aa;b++){

System.out.print( "#" );

}

System.out.println();}

}

}

13、验证“鬼谷猜想”:对任意自然数,若是奇数,就对它乘以 3 再加 1;若是

偶数,就对它除以 2,这样得到一个新数,再按上述计算规则进行计算,一直进

行下去,最终必然得到 1。

package HomeWork13;

import java.util.Random;;

public class HomeWork13 {

public static void main(String[] args) {

/*

* 验证“鬼谷猜想”:对任意自然数,若是奇数,

* 就对它乘以3再加1;若是 偶数,就对它除以2,

* 这样得到一个新数,

* 再按上述计算规则进行计算,

* 一直进 行下去,最终必然得到1。 */

int num;

Random rd=new Random();

//Integer.MAX_VALUE为最大的整数

num=1+rd.nextInt(Integer.MAX_VALUE);//产生数的范围-2[31]----2[31]-1

//System.err.println(rd.nextInt(100));//产生数>=0且<100

System.out.println("原本的数为"+num);

while(num!=1){

System.out.println("产生的新数是"+num);

if(num%2==0){

//偶数

num=num/2;

}

else{

num=num*3+1;

}

}

System.out.println(num);

}

}

14、编程求 1~10000 之间的所有“完全数”,完全数是该数的所有因子之和等于该数的数。例如,6 的因子有 1、2、3,且 6=1+2+3,所以 6 是完全数。

package HomeWork14;

public class HomeWork14 {

public static boolean isyinzi(int num ){

int sum=0;

//判断一个整数是不是一个完全数

for(int d=num-1;d>=1;d--){

if(num%d==0){

sum+=d;

}

}

return sum==num;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

/*

* 编程求1~10000之间的所有“完全数”,

* 完全数是该数的所有因子之和等

* 于该数的数。例如,6的因子有1、2、3,

* 且6=1+2+3,所以6是完全数*/

for(int a=1;a<=1000;a++){

int num=a;

if(isyinzi(num)){

System.out.println(num);

}

}

}

}

15、一个整数的各位数字之和能被 9 整除,则该数也能被 9 整除。编程验证给

定的整数能否被 9 整除。

package HomeWork15;

import java.util.Random;

public class HomeWork15 {

public static void panduan(int num){

int b=num/100; //百位数

int s=num%100/10; //十位数

int g=num%10; //个位数

if(num%9==0){

System.out.println(num+"能被9整除");

if((b+s+g)%9==0){

System.out.println("同时"+num+"的各个位数之和也能被9整除");

}

else{

System.out.println("但是"+num+"的各个位数之和不能被9整除");

}

}

else

System.out.println("next test!");

}

public static void main(String[] args) {

Random rd=new Random();

int shu=10+rd.nextInt(90);

shu =shu *9;

panduan(shu);

}

}

16、猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,

就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃

前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了,求第一天共

摘下来多少个桃子?

package HomeWork16;

public class HomeWork16 {

public static void main(String[] args) {

int total=1;

int day=10;

for (int i = 10; i >0; i--) {

System.out.println("第"+day+"天,有桃子"+total+"颗");

total=(total+1)*2;

day--;

}

}

}

17、水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等

于它本身。(例如:1^3 + 5^3 + 3^3 = 153)。编程求出所有三位的水仙花数。

package HomeWork17;

public class HomeWork17 {

public static void main(String[] args) {

for(int num=100;num<1000;num++){

if(isshuixian(num)){

System.out.println(num);

}

}

}

//判断一个数是不是水仙花数

public static boolean isshuixian(int num){

int b=num/100;

int s=num%100/10;

int g=num%10;

return Math.pow(b, 3)

+Math.pow(s, 3)

+Math.pow(g, 3)==num?true:false;

}

}

18、已知 XYZ+YZZ=532,其中,X、Y、Z 为数字,编程求出 X、Y 和 Z 的值。

19、古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔

子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数

为多少?

package HomeWork19;

import java.util.Scanner;

public class HomeWork19 {

/*

* 古典问题:有一对兔子,

* 从出生后第3 个月起每个月都生一对兔子,

* 小兔 子长到第三个月后每个月又生一对兔子,

* 假如兔子都不死,

* 问每个月的兔子总数 为多少? */

public int rubbit(int mon){

if(mon<=2){

return 1;

}

else{

return rubbit(mon-1)+rubbit(mon-2);

}

}

public static void main(String[] args) {

int r=1;

int rr=1;

int rrr=1;

System.out.println("方法一:");

for(int a=1;a<=12;a++){

//12个月

if(a<=2){

r=1;

}

else{

//当前月等于前两个月之和

r=rr+rrr;

rrr=rr;

rr=r;

}

System.out.println(r*2);

}

System.out.println("方法二,求指定月份的兔子数量:");

HomeWork19 jisuan=new HomeWork19();

System.out.println("请输入月份:");

Scanner sc=new Scanner(System.in);

int yue=sc.nextInt();

System.out.println(yue+"月份的兔子数量是"+(jisuan.rubbit(yue))*2);

}

}

20、将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。

package HomeWork20;

import java.util.Scanner;

public class HomeWork20 {

public static void main(String[] args) {

System.out.println("请输入一个整数:");

Scanner sc=new Scanner(System.in);

int num=sc.nextInt();

System.out.println(num+"的质因数有:");


Java 基础编程练习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于重阳节的资料大全_重阳节

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: