【程序41】

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

public class Prog41{
    public static void main(String[] args){
        int n;
        n = fun(0);
        System.out.println("原来有"+n+"个桃子");
    }
    private static int fun(int i){
        if(i==5)
          return 1;
        else
          return fun(i+1)*5+1;
    }
}

【程序42】

题目:809*??=800*??+9*??+1

其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

public class Prog42{
    public static void main(String[] args){
        int n = 0;
        boolean flag = false;
        for(int i=10;i<100;i++)
          if(809*i==800*i+9*i+1){
            flag = true;
            n = i;
            break;
          }
        if(flag)
          System.out.println(n);
        else
          System.out.println("无符合要求的数!");
    }
}

【程序43】

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

public class Prog43{
    public static void main(String[] args){
        int count = 0;
        //声明由数字组成的数
        int n = 8;
        //一位数
        count = n/2;
        //两位数
        count += (n-1)*n/2;
        //三位数
        count += (n-1)*n*n/2;
        //四位数
        count += (n-1)*n*n*n/2;
        //五位数
        count += (n-1)*n*n*n*n/2;
        //六位数
        count += (n-1)*n*n*n*n*n/2;
        //七位数
        count += (n-1)*n*n*n*n*n*n/2;
        System.out.println("0-7所能组成的奇数个数:"+count);
    }
}

【程序44】

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

import java.util.Scanner;
public class Prog44{
    public static void main(String[] args){
        System.out.print("请输入一个偶数:");
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        scan.close();
        if(n%2!=0){
          System.out.println("您输入的不是偶数!");
          return;
        }
        twoAdd(n);
    }
    //偶数分解为素数之和
    private static void twoAdd(int n){
        for(int i=2;i<n/2+1;i++){
             if(isPrime(i)&&isPrime(n-i)){
                 System.out.println(n+"="+(i)+"+"+(n-i));
                 break;
             }
        }
    }
    //判断素数
    private static boolean isPrime(int m){
        boolean flag = true;
        for(int i=2;i<Math.sqrt(m)+1;i++){
             if(m%i==0){
                 flag = false;
                 break;
             }
        }
        return flag;
    }
}

【程序45】

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

import java.util.Scanner;
public class Prog45{
    public static void main(String[] args){
        System.out.print("请输入一个数:");
      Scanner scan = new Scanner(System.in);
      long l = scan.nextLong();
      long n = l;
      scan.close();
      int count = 0;
      while(n>8){
          n /= 9;
          count++;
      }
      System.out.println(l+"能被"+count+"个9整除。");
    }
}

【程序46】

题目:两个字符串连接程序

public class Prog46{
    public static void main(String[] args){
        String str1 = "lao lee";
      String str2 = "牛刀";
      String str = str1+str2;
      System.out.println(str);
    }
}

【程序47】

题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

import java.util.Scanner;
public class Prog47{
    public static void main(String[] args){
        System.out.print("请输入7个整数(1-50):");
        Scanner scan = new Scanner(System.in);
        int n1 = scan.nextInt();
        int n2 = scan.nextInt();
        int n3 = scan.nextInt();
        int n4 = scan.nextInt();
        int n5 = scan.nextInt();
        int n6 = scan.nextInt();
        int n7 = scan.nextInt();
        scan.close();
        printStar(n1);
        printStar(n2);
        printStar(n3);
        printStar(n4);
        printStar(n5);
        printStar(n6);
        printStar(n7);
    }
    static void printStar(int m){
        System.out.println(m);
        for(int i=0;i<m;i++)
          System.out.print("*");
        System.out.println();
    }
}

【程序48】

题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

public class Prog48{
    public static void main(String[] args){
        int n = 1234;
        int[] a = new int[4];
        for(int i=3;i>=0;i--){
          a[i] = n%10;
          n /= 10;
        }
        for(int i=0;i<4;i++)
          System.out.print(a[i]);
        System.out.println();
        for(int i=0;i<a.length;i++){
          a[i] += 5;
          a[i] %= 10;
        }
        int temp1 = a[0];
        a[0] = a[3];
        a[3] = temp1;
        int temp2 = a[1];
        a[1] = a[2];
        a[2] = temp2;
        for(int i=0;i<a.length;i++)
          System.out.print(a[i]);
    }
}

【程序49】

题目:计算字符串中子串出现的次数

public class Prog49{
    public static void main(String[] args){
        String str = "I come from County DingYuan Province AnHui.";
        char[] ch = str.toCharArray();
        int count = 0;
        for(int i=0;i<ch.length;i++){
             if(ch[i]==' ')
               count++;
        }
        count++;
        System.out.println("共有"+count+"个字串");
    }
}

【程序50】

题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

import java.io.*;
public class Prog50{
    //定义学生模型
    String[] number = new String[5];
    String[] name = new String[5];
    float[][] grade = new float[5][3];
    float[] sum = new float[5];
    public static void main(String[] args) throws Exception{
        Prog50 stud = new Prog50();
        stud.input();
        stud.output();
    }
    //输入学号、姓名、成绩
    void input() throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //录入状态标识
        boolean isRecord = true;
        while(isRecord){
             try{
               for(int i=0;i<5;i++){
                  System.out.print("请输入学号:");
                   number[i] = br.readLine();
                   System.out.print("请输入姓名:");
                   name[i] = br.readLine();
                   for(int j=0;j<3;j++){
                       System.out.print("请输入第"+(j+1)+"门课成绩:");
                       grade[i][j] = Integer.parseInt(br.readLine());
                   }
                   System.out.println();
                   sum[i] = grade[i][0]+grade[i][1]+grade[i][2];
               }
                 isRecord = false;
            }catch(NumberFormatException e){
                  System.out.println("请输入一个数字!");
          }
        }
    }
    //输出文件
    void output() throws IOException{
        FileWriter fw = new FileWriter("E://java50//stud.txt");
        BufferedWriter bw = new BufferedWriter(fw);  
        bw.write("No.  "+"Name  "+"grade1  "+"grade2  "+"grade3  "+"average");
        bw.newLine();
        for(int i=0;i<5;i++){
          bw.write(number[i]);
          bw.write("  "+name[i]);
          for(int j=0;j<3;j++)
            bw.write("  "+grade[i][j]);
          bw.write("  "+(sum[i]/5));
          bw.newLine();
        }
        bw.close();
    }
}