50道JAVA编程算法题(三)

【程序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

            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

            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

  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[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

  System.out.print(a[i]);

    }

}

【程序49】

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

public class  Prog49{

    public static void main(String[] args){

        String str = "I come fromCounty DingYuan ProvinceAnHui.";

        char[] ch = str.toCharArray();

        int count = 0;

        for(int i=0;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();

    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容