穷举法练习题

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

public static void main(String[] args) {
int a=0;
for(int g=0;g<10;g++)
{
  for(int s=0;s<10;s++)
   {
    for(int b=1;b<10;b++)
     {
      a=g+s*10+b*100;
      if(g*g*g+s*s*s+b*b*b==a)
        {
         System.out.println("a="+a);
        }
     }
   }
}

}

题目二:我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的:5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。

public static void main(String[] args) {

int z=0;

for(int a=0;a<=20;a++)
{
  for(int b=0;b<=33;b++)
  {
    for(int c=0;c<=100;c++)
    {
      if(a+b+c==100&&15*a+9*b+c==300)
        {
          z++;
          System.out.println("一共有"+z+"种方法,公鸡"+a+"只,母鸡"+b+"只,雏鸡"+c+"只");
        }
    }
  }
}

}

 题目三:这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?

public static void main(String[] args) {

int m=0;
for(int x=0;x<=33;x++)
{
  for(int y=0;y<=50;y++)
   {
    for(int z=0;z<=100;z++)
    {
      if(x+y+z==100&&3*x+2*y+0.5*z==100)
      {
        m++;
        System.out.println("一共有"+m+"种方法,大马"+x+"匹,中马"+y+"匹,小马"+z+"匹");
      }
    }
   }
}

}

题目四:九九乘法表

public static void main(String[] args) {

for(int i=1;i<=9;i++)
{
  for(int j=1;j<=i;j++)
  {
    System.out.print(j+"*"+i+"="+j*i+" ");
  }
  System.out.println();
}

}

题目五:编写Java程序,应用for循环打印菱形。

题目六:编写Java程序,使用while循环语句计算1+1/2!+1/3!+……+1/20!之和。

double sum=0;
double jie=1;
for(int i=1;i<=20;i++)
{
  jie*=i;
  for(int j=1;j==1;j++)
   {
    sum+=1/jie;
   }
}
System.out.println("结果为:"+sum);

}

}

原文地址:https://www.cnblogs.com/cycanfly/p/5217493.html