爱因斯坦阶梯问题
两格一跨剩一格,3格一跨剩一格,四,五,六格一跨剩一格,七格一跨正好完成#include<stdio.h>
main(){
int i;
for(i=0;;i+=7)
if(i%2==1&&i%3==1&&i%4==1&&i%5==1&&i%6==1)
printf("%d",i);
}
怎么不对呢
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main(){
int i; int sign=0;
for(i=0;sign==1;i+=7)
if(i%2==1&&i%3==1&&i%4==1&&i%5==1&&i%6==1)
printf("%d",i); sign=1;
}
怎么不对
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#define MAX 10
int main(void)
{
int i;
int count = 0;
for(i = 7; count < MAX; i += 7)
{
if(i%2 == 1 && i%3 == 1 && i%4 == 1 && i%5 == 1 && i%6 == 1)
{
printf("%d\n", i);
count++;
}
}
getchar();
return 0;
}
/* 你的 for 循环没有判断语句 */
[此贴子已经被作者于2007-11-9 20:37:53编辑过]
----------------解决方案--------------------------------------------------------
以下是引用lzxm160在2007-11-9 20:30:08的发言:
#include<stdio.h>
main(){
int i; int sign=0;
for(i=0;sign==1;i+=7)
if(i%2==1&&i%3==1&&i%4==1&&i%5==1&&i%6==1)
printf("%d",i); sign=1;
}
怎么不对
#include<stdio.h>
main(){
int i; int sign=0;
for(i=0;sign==1;i+=7)
if(i%2==1&&i%3==1&&i%4==1&&i%5==1&&i%6==1)
printf("%d",i); sign=1;
}
怎么不对
singn = 0; // 进入了循环
for(i=0; sign != 1; i+=7)
if(i%2==1&&i%3==1&&i%4==1&&i%5==1&&i%6==1)
{
printf("%d",i);
sign = 1;
}
这样的话也只能打印一个符合条件的数字
参考楼上的程序。
[此贴子已经被作者于2007-11-9 20:46:24编辑过]
----------------解决方案--------------------------------------------------------
2,3,4,5,6公倍数数 + 1
printf("%d", 2 * 3 * 4 * 5 * 6 + 1);
----------------解决方案--------------------------------------------------------