java经典编程题(40-42)

【程序40】题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

public class Main {
	public static void main(String[] args) {
		for(int i=1;i<=10000;i++){
			int count = i;
			int j;
			for(j=0;j<5;j++){
				if((count-1)%5==0){
					count = (count-1)/5*4;
				}else{
					break;
				}
			}
			if(j==5)
				System.out.println("原来可能有桃子:"+i);
		}
	}
}

【运行结果】

原来可能有桃子:3121

原来可能有桃子:6246

原来可能有桃子:9371


【程序41】题目:求07所能组成的奇数个数。

public class Demo1 {
	public static void main(String[] args) {
		int sum = 4;
		int j;
		System.out.println("组成1位数是 " + sum + " 个");
		sum = sum * 7;
		System.out.println("组成2位数是 " + sum + " 个");
		for (j = 3; j <= 9; j++) {
			sum = sum * 8;
			System.out.println("组成" + j + "位数是 " + sum + " 个");
		}
	}
}

【运行结果】

组成1位数是 4 个

组成2位数是 28 个

组成3位数是 224 个

组成4位数是 1792 个

组成5位数是 14336 个

组成6位数是 114688 个

组成7位数是 917504 个

组成8位数是 7340032 个

组成9位数是 58720256 个



【程序42】题目:歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和打印出所有的可能

import java.util.Scanner;
public class Demo1 {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int n;
		do {
			System.out.print("请输入一个大于等于6的偶数:");
			n = s.nextInt();
	} while (n < 6 || n % 2 != 0); // 判断输入是否是>=6偶数,不是,重新输入
		for (int i = 3; i <= n / 2; i += 2) {
			if (fun(i) && fun(n - i)) {
				System.out.println(n + " = " + i + " + " + (n - i));
			} // 输出所有可能的素数对
		}
	}

	static boolean fun(int a) { // 判断是否是素数的函数
		boolean flag = false;
		if (a == 3) {
			flag = true;
			return (flag);
		}
		for (int i = 2; i <= Math.sqrt(a); i++) {
			if (a % i == 0) {
				flag = false;
				break;
			} else
				flag = true;
		}
		return (flag);
	}
}





你可能感兴趣的:(java,二级,编程题)