oliverman


私信TA

用户名:oliverman

访问量:5345

签 名:

等  级
排  名 336
经  验 5379
参赛次数 2
文章发表 6
年  龄 38
在职情况 在职
学  校
专  业

  自我简介:

解题思路:
循环条件及判断条件要满足题设的要求。把要求一一罗列出来就好了。

注意事项:
这个办法真的很笨,以至于第一次运行的时候要超时。看起来系统都不耐烦了,那我就让你少循环几次。

参考代码:

#include<stdio.h>

int main()

{

int a1, a2, a3, a4, a5, a6, a7, a8, a9;//三个三位数所用到的9个数

int A, B, C;//3个三位数用A,B,C表示

for (a1 = 1 ;a1 <= 3; a1++)//本来写成(a1 = 1 ;a1 <= 9; a1++),但结果超时。考虑到题目的限制条件,把自小的数设置为399以内。

for (a2 = 1; a2 <= 9; a2++)

for (a3 = 1; a3 <= 9; a3++)

for (a4 = 1; a4 <= 9; a4++)

for (a5 = 1; a5 <= 9; a5++)

for (a6 = 1; a6 <= 9; a6++)

for (a7 = 5; a7 <= 9; a7++)//本来写成(a7 = 1 ;a7 <= 9; a7++)。原因同上,改为了5。

for (a8 = 1; a8 <= 9; a8++)

for (a9 = 1; a9 <= 9; a9++)

{

A = a1 * 100 + a2 * 10 + a3;//计算A,B,C三个数

B = a4 * 100 + a5 * 10 + a6;

C = a7 * 100 + a8 * 10 + a9;

if (a1 != a2 && a1 != a3 && a1 != a4 && a1 != a5 && a1 != a6 && a1 != a7 && a1 != a8 && a1 != a9

&& a2 != a3 && a2 != a4 && a2 != a5 && a2 != a6 && a2 != a7 && a2 != a8 && a2 != a9

&& a3 != a4 && a3 != a5 && a3 != a6 && a3 != a7 && a3 != a8 && a3 != a9

&& a4 != a5 && a4 != a6 && a4 != a7 && a4 != a8 && a4 != a9

&& a5 != a6 && a5 != a7 && a5 != a8 && a5 != a9

&& a6 != a7 && a6 != a8 && a6 != a9

&& a7 != a8 && a7 != a9

&& a8 != a9

&& 2 * A == B && 3 * A == C)//所有不相等和几倍关系的条件都一一罗列在这里

{

printf("%d %d %d\n", A, B, C);

}

}

return 0;

}

 

0.0分

0 人评分

  评论区

  • «
  • »