程序代码:
root@~ #cat 2.c
#include <stdio.h>
//计算1/x+1/y+1/z=1/2
//分别列出x,y,z的可能值
int main (void) {
int x,y,z;
for(x=1;x<=50;x++) {
for(y=1;y<=50;y++) {
for(z=1;z<=50;z++) {
if((((float)1/x+(float)1/y+(float)1/z)==0.5)) {
printf ("1/%i+1/%i+1/%i=1/2\n",x,y,z);
}
}
}
}
return 0;
}
root@~ #
测试结果:
root@~ #./2
1/3+1/7+1/42=1/2
1/3+1/8+1/24=1/2
1/3+1/9+1/18=1/2
1/3+1/10+1/15=1/2
1/3+1/12+1/12=1/2
1/3+1/15+1/10=1/2
1/3+1/18+1/9=1/2
1/3+1/24+1/8=1/2
1/3+1/42+1/7=1/2
1/4+1/5+1/20=1/2
1/4+1/6+1/12=1/2
1/4+1/8+1/8=1/2
1/4+1/12+1/6=1/2
1/4+1/20+1/5=1/2
1/5+1/4+1/20=1/2
1/5+1/5+1/10=1/2
1/5+1/10+1/5=1/2
1/5+1/20+1/4=1/2
1/6+1/4+1/12=1/2
1/6+1/6+1/6=1/2
1/6+1/12+1/4=1/2
1/7+1/3+1/42=1/2
1/7+1/42+1/3=1/2
1/8+1/3+1/24=1/2
1/8+1/4+1/8=1/2
1/8+1/8+1/4=1/2
1/8+1/24+1/3=1/2
1/9+1/3+1/18=1/2
1/9+1/18+1/3=1/2
1/10+1/3+1/15=1/2
1/10+1/5+1/5=1/2
1/10+1/15+1/3=1/2
1/12+1/3+1/12=1/2
1/12+1/4+1/6=1/2
1/12+1/6+1/4=1/2
1/12+1/12+1/3=1/2
1/15+1/3+1/10=1/2
1/15+1/10+1/3=1/2
1/18+1/3+1/9=1/2
1/18+1/9+1/3=1/2
1/20+1/4+1/5=1/2
1/20+1/5+1/4=1/2
1/24+1/3+1/8=1/2
1/24+1/8+1/3=1/2
1/42+1/3+1/7=1/2
1/42+1/7+1/3=1/2
root@~ #
[
本帖最后由 ansic 于 2011-3-27 23:30 编辑 ]