解题思路:
循环条件及判断条件要满足题设的要求。把要求一一罗列出来就好了。
注意事项:
这个办法真的很笨,以至于第一次运行的时候要超时。看起来系统都不耐烦了,那我就让你少循环几次。
参考代码:
#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 人评分
钟神赛车 (C++代码)浏览:905 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:696 |
ASCII帮了大忙浏览:797 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:548 |
C语言训练-大、小写问题 (C语言代码)浏览:792 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:631 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1457 |
程序员的表白 (C语言代码)浏览:678 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:501 |
多组数据新方法浏览:368 |