JAVA基础第九组(5道题)

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

package com.niit.homework1;

/**
 * @author: Annie
 * @date:2016年5月23日
 * @description:【程序41】 
  题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一 个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中
,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 

 */
public class DividePeach {
    
    public static void main(String[] args) {
        int number = 5;
        while(true) {
            if(isTheSmallestNumber(number)) {
                break;
            }
            number++;
        }
        System.out.println(number);    
    }

    static boolean isTheSmallestNumber(int number) {
        int i = 0;
        while(i<5 && number > 0) {
            if((number-1)%5==0) {
                int tmp = (number-1)/5 + 1;
                number -= tmp;
                i ++;
            } else {
                return false;
            }
        }
        return true;
    }
}

42.

43.题目:求0—7所能组成的奇数个数。

package com.niit.homework1;

/**
 * @author: Annie
 * @date:2016年5月23日
 * @description:【程序43】 
                                             题目:求0—7所能组成的奇数个数。                                
 */
public class OddCount {
    public static void main(String[] args) {
        int i;
        int count=0;
        for(i=0;i<=77777777;i++){
            if(i%10==1||i%10==3||i%10==5||i%10==7||i%10==9){
                count++;
            }
        }
        System.out.println(count);
    }
}

44.题目:一个偶数总能表示为两个素数之和。

package com.niit.homework1;

import java.util.Scanner;

/**
 * @author: Annie
 * @date:2016年5月23日
 * @description:【程序44】 
                               题目:一个偶数总能表示为两个素数之和。 

 */
public class SeparationNum {
    public static void main(String[] args) {
        while(true){
            System.out.println("请输入一个大于2的偶数:");
            Scanner in = new Scanner(System.in);
            int inNum = in.nextInt();
            for(int i =2;i < inNum;i++){
                int j = inNum - i;
                if(isPrime(i) && isPrime(j)){
                    System.out.println("偶数:"+inNum+",可以表示为两个素数的和:"+inNum+"="+i+"+"+j);
                    break;
                }
            }
        }

    }

    //判断是不是素数
    public static boolean isPrime(int a) {
        boolean flag = true;
        if (a < 2) {// 素数不小于2
            return false;
        } else {
            for (int i = 2; i <= Math.sqrt(a); i++) {
                if (a % i == 0) {// 若能被整除,则说明不是素数,返回false
                    flag = false;
                    break;// 跳出循环
                }
            }
        }
        return flag;
    }

}

45.

题目:判断一个素数能被几个9整除

package com.niit.homework1;

import java.util.Scanner;

/**
 * @author: Annie
 * @date:2016年5月23日
 * @description:【程序45】 题目:判断一个素数能被几个9整除 

 */
public class DivisionTest {
    public static void main(String[] args) {
        Scanner  in = new Scanner(System.in);
        System.out.println("请输入一个素数:");
        int num =in.nextInt();
        int count = 0;
        if(isPrime(num)){
            if(num%9==0){
                count = num/9;
                System.out.println("该数能被"+count+"个9整除");
            }else{
                System.out.println("能被"+count+"9整除");
            }
        }
        
 
    }
    
    public static boolean isPrime(int num){
        for (int i = 2; i <= Math.sqrt(num); i++) {
            if(num%i == 0){
                System.out.println("输入的数字不是素数:");
                return false;
            }
        }return true;
        
    }

}
原文地址:https://www.cnblogs.com/wangmingxia/p/5520750.html