• 2017-09-15


    【程序1】   

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少    

    //这是一个菲波拉契数列问题

    int []a = new int [12];

    int y;

    for(int x=0;x<12;x++) {

    if((x==0)||(x==1)) {

    a[0]=a[1]=1;

    System.out.println(a[0]);

    }else {

    y=x+1;

    a[x]=a[x-2]+a[x-1];

    System.out.println(""+y+"个月兔子的数量="+a[x]);

    }

        }

    【程序2】   

    题目:判断101-200之间有多少个素数,并输出所有素数。

    程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。   

    int i,j,k;

    int n=0;

    for(i=101;i<200;i++) {

    for(j=2;j<i;j++) {

    if(i%j==0) {

    break;

    }

    }

    if(i==j) {

    System.out.println("i="+i);

    n++;

    }

    }

    System.out.println("n="+n);

    【程序3】   

    题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

    int a,n=0;

    int i;

    int j;

    int k;

    for(a=100;a<=999;a++) {

    i=a/100;

    j=a/10%10;

    k=a%10;

    if(i*i*i+j*j*j+k*k*k==a) {

    System.out.println("a是水仙花数:"+a);

    n++;

    System.out.println("水仙花个数:"+n);

    }

    }

      

    【程序4】   

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

    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:   

    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。   

    (2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。   

    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。  

    int i;

    Scanner sc = new Scanner(System.in);

    i = sc.nextInt();

    int j,k = 0;

    int n=0;

    for(j=1;j<i;j++) {

    if(i%j==0) {

    k=k+j;

    System.out.println("质因数是:"+j);

    }

    }

    if(i==k) {

    System.out.println(i);

    }else {

    System.out.println("它不是完数");

    }

      

    【程序5】   

    题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。   

     int score;

    Scanner sc = new Scanner(System.in);

    {System.out.println("成绩是:");}

    score = sc.nextInt();

    if(score>=60) {

    if((score>=60)&&(score<=89)) {

    System.out.println("B");

    }

    if(score>=90) {

    System.out.println("A");

    }

    }else {

    System.out.println("c");

    }

    【程序6】   

    题目:输入两个正整数m和n,求其最大公约数和最小公倍数。   

    /**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。* /

     int m;

    Scanner sc1 = new Scanner(System.in);

    m=sc1.nextInt();

    int n;

    Scanner sc2 = new Scanner(System.in);

    n=sc2.nextInt();

    int i;

    for(i=n;i>=1;i--) {

    if((m%i==0)&&(n%i==0)) {

    System.out.println("最大公约数:"+i);

    i=i*(m/i)*(n/i);

    System.out.println("最小公倍数:"+i);

    break;

    }

    }

    【程序7】   

    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。   

    String str = "Hello, 我的名字是ruanchenxue ,我现在在"

    + "ICSS学习,我是0905班的学生,我们班一共有31个学生";

       

        int letterNum=0;  //英文字母的个数

        int num=0;        //数字个数

        int blankNum=0;   //空格的个数

        int m=0;          //其他

        

      

        for(int i=0;i<str.length();i++) {

           char zhi = str.charAt(i);   //调用charAt(索引)    将索引的值付给zhi;

         if( ( (zhi>='A')&&(zhi<='Z') ) ||( (zhi>='a')&&(zhi<='z') ) ) {

         letterNum++;          

         }else if( (zhi>='0')&&(zhi<='9') )  {

         num++;          

         }else if(zhi==' ') {

         blankNum++;}

         else {

         m++;

         }     

       }

        System.out.println("英文字母的个数"+letterNum);

         System.out.println("数字的个数"+num);

         System.out.println("空格的个数"+blankNum);

         System.out.println("其他"+m);

    【程序8】   

    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。   

     int a;

    Scanner sc = new Scanner(System.in);

    a = sc.nextInt();

    int s=0;

    int n;

    for(n=1;n<=10;n++) {

    s+=a;

    a=11*a;

    }

    System.out.println(s);

    }

    【程序9】   

    题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程     找出1000以内的所有完数。   

    int i,j,k;

    int n=0;

    for(i=1;i<=1000;i++) {

    k=0;

    for(j=1;j<i;j++) {

    if(i%j==0) {

     k=k+j;

    }

    }

    if(i==k) {

    n++;

    System.out.println(i);

    }

    }

    System.out.println(n);

    【程序10】   

    题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在     第10次落地时,共经过多少米 第10次反弹多高  

     double a = 100;

    double s = 0;

    double h = 0;

    for(int n=1;n<=11;n++) {

    a=a/2;

    h=a;

    System.out.println("弹跳高度:"+h);      //11次弹跳的高度

    s+=2*h;

    System.out.println("总路程:"+(s+100));  //11次经过的路程

    }

    }

    【程序12】   

    题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数    

    double s;

    double i;

    Scanner sc = new Scanner (System.in);

    i = sc.nextInt();

    if(i<=10) {

    s=i*0.1;

    System.out.println(s);

    }

    if(i>10&&i<=20) {

    s=10*0.1+(i-10)*0.075;

    System.out.println(s);

    }

    if(i>20&&i<=40) {

    s=10*0.1+10*0.075+(i-20)*0.05;

    System.out.println(s);

    }

    if(i>40&&i<=60) {

    s=10*0.1+10*0.075+20*0.05+(i-40)*0.03;

    System.out.println(s);

    }

    if(i>60&&i<=100) {

    s=10*0.1+10*0.075+20*0.05+20*0.03+(i-60)*0.015;

    System.out.println(s);

    }

    if(i>100) {

    s=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(i-100)*0.01;

    System.out.println(s);

    }

    【程序13】   

    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少    

    int m;

    int n;

    int i;

    for(m=16;m<100;m++) {

    for(n=10;n<100;n++) {

    if(168==m*m-n*n){

    System.out.println("m是:"+m+" n"+n);

    i=m*m-268;

    System.out.println(i);

    }

    }

    }

    /*按题意循环应该从-100开始(整数包括正整数、负整数、零),这样会多一个满足条件的数-99。

    但是我看到大部分人解这道题目时都把题中的“整数”理解成正整数,我也就随大流了。*/

    【程序15】   

    题目:输入三个整数x,y,z,请把这三个数由小到大输出。   

    int a,b,c,t;

    Scanner sc1 = new Scanner(System.in);

    a = sc1.nextInt();

    Scanner sc2 = new Scanner(System.in);

    b = sc2.nextInt();

    Scanner sc3 = new Scanner(System.in);

    c = sc3.nextInt();

    // if(a<b) {t=a;a=b;b=t;}     输出时从大到小

    // if(a<c) {t=a;a=c;c=t;}

    // if(b<c) {t=b;b=c;c=t;}

    if(a>b){t=a;a=b;b=t;}      //输出时从小到大

    if(a>c){t=a;a=c;c=t;}

    if(b>c){t=b;b=c;c=t;}

    System.out.println(a+" "+b+" "+c);

    【程序17】   

    题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个     第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下     的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。   

    int i,k = 1,t=0;

    for(i=9;i>0;i--) {

    t = (k+1)*2;

    k = t;

    System.out.println(""+i+""+"还剩下"+k+"桃子");

    }

    System.out.println(k);

    }

    【程序19】   

    题目:打印出如下图案(菱形)   

         *     //分为俩个部分

      for(int i=1;i<=5;i++) {   //

    System.out.println();

    for (int space=4;space>=i ;space-- )

    {

    System.out.print(" ");   //空格

    }

    for(int j=1;j<=i;j++) { //

    System.out.print(" *");

    }

    }

    for(int i=1;i<=5;i++) {    //

    System.out.println();

    for (int space=1;space<=i ;space++ )

    {

    System.out.print(" ");      //空格

    }

    for(int j=5;j>i;j--) {

    System.out.print(" *");  //

    }

    }

    【程序20】   

    题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

    double []a = new double [21];

    int x;

    double b =0;

    for(x=0;x<=20;x++) {

    if((x==0)) {

    a[0]=1;

    }else if(x==1){

    a[1]=2;

    }else {

    a[x]=a[x-1]+a[x-2];

    b+=a[x-1]/a[x-2];

    System.out.println("b的值"+b);

    }

    }

    【程序27】   

    题目:求100之内的素数   

    //使用除sqrt(n)的方法求出的素数不包括2和3

    int i,j,k;

    int n=0;

    for(i=1;i<100;i++) {

    for(j=2;j<i;j++) {

    if(i%j==0) {

    break;

    }

    }

    if(i==j) {

    System.out.println("i="+i);

    n++;

    }

    }

    System.out.println("n="+n);

    【程序33】  

    题目:打印出杨辉三角形(要求打印出10行如下图)      

                1   

              1    1   

            1    2    1   

          1    3    3    1   

        1    4    6    4    1   

    1    5    10    10    5    1   

    …………

    如何让杨辉三角居中

    int [][]a =new int[6][];

    int i;

    int j;

    for(i=0;i<=6;i++) {

    a[i]=new int[i+1];

    for(j=0;j<=i;j++) {

    if((i==0)||(j==0)||(i==j)) {

    a[i][j]=1;

    }else {

    a[i][j]=a[i-1][j-1]+a[i-1][j];

    }

    System.out.print(a[i][j]+" ");

    }

    System.out.println();

    }

    【程序34】   

    题目:输入3个数a,b,c,按大小顺序输出。   

    int a,b,c,t;

    Scanner sc1 = new Scanner(System.in);

    a = sc1.nextInt();

    Scanner sc2 = new Scanner(System.in);

    b = sc2.nextInt();

    Scanner sc3 = new Scanner(System.in);

    c = sc3.nextInt();

    if(a<b) {t=a;a=b;b=t;}

    if(a<c) {t=a;a=c;c=t;}

    if(b<c) {t=b;b=c;c=t;}

    System.out.println(a+" "+b+" "+c);

    【程序45】   

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

    //题目错了吧 能被9整除的就不是素数了!所以改成整数了。

    int i;

    int m=0;

    Scanner sc = new Scanner(System.in);

    i = sc.nextInt();

    for(int n=1;n<=10;n++) {

    if(i%9==0) {

    m++;

    i=i/9;

    }

    }

    System.out.println(m);

  • 相关阅读:
    01uni-app的创建运行在不同端上的配置 以及tarBar的配置
    js循环之map在工作中的使用
    GPTL L3-003 社交集群(并查集)
    GPLT L2-024 部落 (并查集)
    GPLT L2-010 排座位 (并查集)
    GPLT L2-007 家庭房产 (并查集)
    Codeforces Round #533 (Div. 2) D. Kilani and the Game(BFS)
    Codeforces Round #533 (Div. 2) C. Ayoub and Lost Array(递推)
    Codeforces Round #533 (Div. 2) B. Zuhair and Strings(字符串)
    Codeforces Round #533 (Div. 2) A. Salem and Sticks(枚举)
  • 原文地址:https://www.cnblogs.com/r123/p/7562591.html
Copyright © 2020-2023  润新知