#include<stdio.h>
int main()
{
int i,j,k,n=0;
for(i=1;i<2019;i++)
{
for(j=1;j<2019;j++)
{
for(k=1;k<2019;k++)
{
if((i<2019)&&(j<2019)&&(k<2019)&&(i!=j)&&(i!=k)&&(j!=k)&&(i+j+k==2019))
{
n++;
}
}
}
}
printf("%d",n);
return 0;
}
至少会输出 0
if((i<2019)&&(j<2019)&&(k<2019)&&(i!=j)&&(i!=k)&&(j!=k)&&(i+j+k==2019))
当满足你写的这个条件,n才会自增(n++),变成其他数字,最后就输出n的结果;如果全部循环都不满足,那么他至少会输出0;或者说,循环次数过多,cpu还在运算当中,等会就会有输出结果了!另外,帮你计算过了,该程序需要循环八十多亿次,肯定会有些耗时。
if((i<2019)&&(j<2019)&&(k<2019)&&(i!=j)&&(i!=k)&&(j!=k)&&(i+j+k==2019))
你想到达什么目的? 当条件满足时,你可以直接在最里面的循环输出 i, j, k,n 的值。 就可以看到问题。
你的循环次数太大了,程序判断很慢,你把数全变成20过一会就出来了,说明你这个题目这样写不提倡
有输出,只是循环太久。稍微等一会。2032128