Java控制语句实验随记6~10

机试题目6号

请编写一个Java程序,能够求出0-1000之间的水仙花数n=3,并且将结果在控制台有序输出。

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)

/*需求:请编写一个Java程序,能够求出0-1000之间的水仙花数n=3,并且将结果在控制台有序输出。
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
思路:
1,它要求我们对0~1000之间的三位数,求出水仙花数,则需要对100~999进行遍历,可以用for语句
2,定义三个变量,a,b,c,其中a代表百位的数字,b代表十位的数字,c代表个位的数字,利用遍历的数除以100、10来求每个位的数
3,所以将遍历的数字再跟 a3+b3+c3的和进行判断,相同则是水仙花数*/
class  exam6
{
   public static void main(String[] args) 
   {
        for(int sum=100;sum<1000;sum++)
        {
          int a,b,c,temp;
          a=sum/100;
          b=(sum-a*100)/10;
          c=(sum-a*100)-b*10;
          temp=a*a*a+b*b*b+c*c*c;
          if (sum==temp)
          {
              System.out.println(sum+"为水仙花数");
          }
        }
    }
}


机试题目7号

请编写一个Java程序,能够求出N!(N<=30),并且将结果在控制台有序输出。

/*需求:请编写一个Java程序,能够求出N!(N<=30),并且将结果在控制台有序输出。N!为阶乘
思路:
1,首先要对每个数要进行遍历,便要使用for语句。
2,然后利用一个变量记录每次遍历的数,并每次把上次遍历的数与该次的数进行相乘,再用该变量记录。以此循环
注意:因为是相乘,变量的初始化,不能为0,要不然相乘,永远都是0,要初始化为1;起始数也从1开始
*/
class  exam7
{
    public static void main(String[] args) 
    {
        int sum=1;
        for (int n=1;n<=30;n++)
        {
            sum=sum*n;
        }
        System.out.println("N!的阶乘为:"+sum);
     }
}


机试题目8号

请编写一个Java程序,能够计算百鸡问题,已知公鸡5元1只,母鸡3元1只,小鸡1元3只,要求用100元买100只鸡,要求计算出所有的采购方案。并且将结果在控制台有序输出。

/*请编写一个Java程序,能够计算百鸡问题,已知公鸡5元1只,母鸡3元1只,小鸡1元3只,要求用100元买100只鸡,
要求计算出所有的采购方案。并且将结果在控制台有序输出。
思路:
1,定义三个变量代表每种鸡的数量,对其中的两个变量进行遍历,因为,总共100只,两个确定了,其他也肯定确定。利用之前100-确定的两个数量的价钱总和,剩下的钱再乘以3就是小鸡的数量
要注意,限定范围。全买公鸡最多也只能买20只,母鸡33只,小鸡300只
2,然后利用他们的关系,100元买100只鸡,来对符合的数量进行判断,价钱和为100,以及数量和为100*/
class exam8
{
     public static void main(String[] args) 
     {
        for (int a=1;a<=20;a++ )
        {
           for (int b=1;b<=(100-a*5)/3;b++)
           {
              int c=(100-a*5-b*3)*3;
              if (100==a*5+b*3+c/3&&100==a+b+c)
              {
                  System.out.println("公鸡:"+a+"  母鸡:"+b+"  小鸡:"+c);
              }
           }
        }

     }
}


机试题目9号

请编写一个Java程序,能够求出0-100之间的斐波那契数,并且将结果在控制台有序输出。

斐波那契数:是指后一个数等于前面两个数的和。在这个数列中的数字,就被称为斐波那契数

/*需求:请编写一个Java程序,能够求出0-100之间的斐波那契数,并且将结果在控制台有序输出。
斐波那契数:是指后一个数等于前面两个数的和。在这个数列中的数字,就被称为斐波那契数
思路:
1,先定义起始量,n0,n1,n2
2,通过循环来进行相加赋值,并将每次的N2值赋给N1,N1赋给N0来进行动态的求取每个值并输出*/
class exam9 
{
    public static void main(String agrs [])
    {
       int n0=0,n1=1,n2;
       System.out.print (n0+" "+n1+" ");
       for(int i=0;i<=20; i++)
       {
          n2=n1+n0;
          if (n1+n0>100)  
          break;  //设定判断跳出循环
          System.out.print(n2+" ");
          n0=n1;
          n1=n2;
       }
       System.out.println();
     }
}


机试题目10号

请编写一个Java程序,能够计算鸡兔同笼问题,已知笼中共有9个头和26只脚,要求计算出该笼中有几只兔子几只鸡。并且将结果在控制台有序输出。

/*需求:请编写一个Java程序,能够计算鸡兔同笼问题,已知笼中共有9个头和26只脚,
要求计算出该笼中有几只兔子几只鸡。并且将结果在控制台有序输出。
思路:
1,可以对鸡进行遍历,知道鸡的数量就可以知道兔的数量
2,然后在遍历中,对鸡兔之间,利用脚关系进行判断。
*/
class exam10 
{
     public static void main(String[] args) 
     {
        for (int a=1;a<9;a++)
        {
           int b=9-a;
           if(a*2+b*4==26)
           { 
              System.out.println("鸡:"+a+"兔:"+b);
           }
        }
     }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值