一个非1的自然数。
加1是2的倍数
加2是3的倍数
加3是4的倍数
加4是5的倍数
加5是6的倍数
加6是7的倍数
求这个数是多少?public class OneAddTo100Except3{
public static void main(String[]args){
//初始结果值为1
int result = 1;
//循环体开始,从1到1000
for (int i = 1; i<= 1000; i++){
result += i;
//加1被2整除,加2被3整除,加3被4整除,加4被5整除,加5被6整除,加6被7整除
if ((result+1)%2 == 0 &&
(result+2)%3 == 0 &&
(result+3)%4 == 0 &&
(result+4)%5 == 0 &&
(result+5)%6 == 0 &&
(result+6)%7 == 0){
//若条件为真,则输出结果
System.out.println("The result is:" + result);
}
}
}
}输出时是
run:
The result is:5461
The result is:7141
The result is:25201
The result is:39061
The result is:56281
The result is:73921
The result is:79801
The result is:97021
The result is:103741
The result is:127261
The result is:157081
The result is:189421
The result is:259561
The result is:270481
The result is:352381
The result is:353221
The result is:446041
The result is:460321
成功构建 (总时间: 0 秒)
问题:循环体最大是1000,为什么结果会输出大于1000的数字?百思不得解。
加1是2的倍数
加2是3的倍数
加3是4的倍数
加4是5的倍数
加5是6的倍数
加6是7的倍数
求这个数是多少?public class OneAddTo100Except3{
public static void main(String[]args){
//初始结果值为1
int result = 1;
//循环体开始,从1到1000
for (int i = 1; i<= 1000; i++){
result += i;
//加1被2整除,加2被3整除,加3被4整除,加4被5整除,加5被6整除,加6被7整除
if ((result+1)%2 == 0 &&
(result+2)%3 == 0 &&
(result+3)%4 == 0 &&
(result+4)%5 == 0 &&
(result+5)%6 == 0 &&
(result+6)%7 == 0){
//若条件为真,则输出结果
System.out.println("The result is:" + result);
}
}
}
}输出时是
run:
The result is:5461
The result is:7141
The result is:25201
The result is:39061
The result is:56281
The result is:73921
The result is:79801
The result is:97021
The result is:103741
The result is:127261
The result is:157081
The result is:189421
The result is:259561
The result is:270481
The result is:352381
The result is:353221
The result is:446041
The result is:460321
成功构建 (总时间: 0 秒)
问题:循环体最大是1000,为什么结果会输出大于1000的数字?百思不得解。
非常感谢老师指点!!!public class FindTheNumber {
public static void main(String[]args){ //循环体开始,从1到1000
for (int result = 2; result<= 10000; result++){
//加1被2整除,加2被3整除,加3被4整除,加4被5整除,加5被6整除,加6被7整除
if ((result+1)%2 == 0 &&
(result+2)%3 == 0 &&
(result+3)%4 == 0 &&
(result+4)%5 == 0 &&
(result+5)%6 == 0 &&
(result+6)%7 == 0){
//若条件为真,则输出结果
System.out.println("The result is:" + result);
//找出最小符合条件的数字后跳出循环体。
break;
}
}
}
}输出:
run:
The result is:421
成功构建 (总时间: 0 秒)
public static void main(String[] args)
{
for(x=1;x<1000;x++)
int y=1+x*10
if(
(y+1)%2==o&&
(y+2)%3==o&&
(y+3)%4==o&&
(y+4)%5==o&&
(y+5)%6==o&&
(y+6)%7==o&&)
SYstem.out.println("y"+y);
break
}
加1是2的倍数
加2是3的倍数
加3是4的倍数
加4是5的倍数
加5是6的倍数
加6是7的倍数相当于 减1能被2,3,4,5,6,7同时整除,这个数就等于2,3,4,5,6,7的所有公倍数加1
over!