解题思路:
循环条件及判断条件要满足题设的要求。把要求一一罗列出来就好了。
注意事项:
这个办法真的很笨,以至于第一次运行的时候要超时。看起来系统都不耐烦了,那我就让你少循环几次。
参考代码:
#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语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复