JAVA 一个算法题,求达人帮个忙

2024-11-26 17:35:17
推荐回答(6个)
回答1:

//这种问题基本不用考虑,直接利用计算机速度快的优点,枚举就可以了
int i=0;
for(;;i++){
if(i%2==1 && i%3==2 && i%4==3 && i%5==4 && i%6==5 && i%7==0){
break;
}
}
System.out.println("最少级数:"+i);

回答2:

答案是:119
===================================================================
public class TestP {
public static void main(String[] args) {
int i=1;
while(true){
if(i%2==1 && i%3==2 && i%5==4 && i%6==5 && i%7==0){
break;
}
i++;
}
System.out.println(i);
}
}

回答3:

从 1至1000中搜索结果
public static void main(String[] args) {
for(int i=1;i<1000;i++){
if(i%2 == 1 && i%3 == 2 && i%5 == 4 && i%6 ==5 && i%7 == 0){
System.out.println("the number is " + i);
}
}
}
运行结果
the number is 119
the number is 329
the number is 539
the number is 749
the number is 959

回答4:

这个很简单啊,你遍历一下7的倍数,然后依次判断符合条件的数字,最先得到的便是最小的:
public class Algorithms {

public static void main(String[]args){

int num = 7;
for(int i=1;;i++){
num = 7*i;
if((num%2==1) && (num%3==2) && (num%5==4)
&& (num%6)==5){
System.out.println(num);
break;
}
}
System.out.println("最少的级数:"+ num);
}
}

答案是:
119
最少的级数:119

回答5:

最好的方法用枚举
public class TestP {
public static void main(String[] args) {
int i=1;
while(true){
if(i%2==1 && i%3==2 && i%5==4 && i%6==5 && i%7==0){
break;
}
i++;
}
System.out.println(i);
}
}

回答6:

//本题的意思就是
/*
* n%2=1,n%3=2,n%5=4,n%6=5,n%7=0
*
* 采用遍历寻找 程序如下.寻找 1000000以内的解.也可以直接break 找出最小的一个解.
*
* 对于这道方程题.你可以把n%2=1,n%3=2,n%5=4,n%6=5,n%7=0 装换成方程组,
* 5个方程6个未知数,这肯定有很多组解.可以求出通解.但用程序求通解就很麻烦了..呵呵.
*/
public class TaiJie {
public static void main(String args[])
{
int n=0;
while (n<1000000)
{
if (n%2==1&&n%3==2&&n%5==4&&n%6==5)
System.out.println(n);
//break;
n=n+7;
}
System.out.println(n);
}
}