|
楼主 |
发表于 2018-8-21 08:28:43
|
显示全部楼层
#include <stdio.h>
int main()
{
int a=1,b=2,c,sum=2;
printf("1 2");
while (a<4000000&&b<4000000&&c<4000000)
{
c=a+b;
a=b+c;
b=c+a;
while (a>=4000000||b>=4000000||c>=4000000)
goto shuai;
if(a%2==0)
sum+=a;
if(b%2==0)
sum+=b;
if(c%2==0)
sum+=c;
printf(" %d %d %d\n",c,a,b,sum);
}
shuai: printf("\nsum=%d",sum);
}
/********************小弟粗来炸到*********************************
上面是实现的,下面是没实现的。
question1:
if(!a%2)
sum+=a;
if(!b%2)
sum+=b;
if(!c%2)
sum+=c;
这三个取余的否,系统无法识别?想知道错在哪儿了。
question2:
while (!a<4000000&&b<4000000&&c<4000000)
break;
我知道break只能跳一层,跳了也白跳,于是没法只能用最shuai的goto了
while (a>=4000000||b>=4000000||c>=4000000)
goto shuai;
所以,想问问大佬们推荐点更好的办法。
********************还望鱼油指点迷津******************************/
int main()
{
int a=1,b=2,c,sum=2;
printf("1 2");
while (a<4000000&&b<4000000&&c<4000000)
{
c=a+b;
a=b+c;
b=c+a;
while (!a<4000000&&b<4000000&&c<4000000)
break;
if(!a%2)
sum+=a;
if(!b%2)
sum+=b;
if(!c%2)
sum+=c;
printf(" %d %d %d\n%d",c,a,b,sum);
}
printf("\nsum=%d",sum);
} |
|