了解题目
题目链接
题目
输入格式
无
输出格式
若干行,每行 33 个数字。按照每行第 11 个数字升序排列。
分析题目
本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。
输入样例
无
输出样例
192 384 576
* * *
...
* * *
(剩余部分不予展示)
解题思路
需要注意的是,这种暴力枚举的方法并不是最优的解法,因为其时间复杂度较高。在这道题目中,由于数据规模较小,使用暴力枚举可以通过本题。但是,如果数据规模变大,暴力枚举就会变得非常耗时,需要寻找更优秀的算法。
AC代码
#include <bits/stdc++.h>
using namespace std;
int main() {
// string s1[3] = {"i", "j", "k"}, d1[3] = {"/100", "/10%10", "%10"} ;
// string ans[9] = {"i/100", "i/10%10", "i%10", "j/100", "j/10%10", "j%10", "k/100", "k/10%10", "k%10",};
// for (int i = 0; i < 3; i++) {
// for (int j = 0; j < 3; j++) {
// cout << "\"" << s1[i] + d1[j] << "\"" << ",";
// }
// }
// for (int i = 0; i < 9; i++) {
// for (int j = 0; j < 9; j++) {
// if (i != j) {
// cout << ans[i] << "==" << ans[j] << "||";
// }
// }
// }
int i, j, k ;
for (i = 123; i < 333; i++) {
j = i * 2;
k = i * 3;
if (i/100==i/10%10||i/100==i%10||i/100==j/100||i/100==j/10%10||i/100==j%10||i/100==k/100||i/100==k/10%10||i/100==k%10||i/10%10==i/100||i/10%10==i%10||i/10%10==j/100||i/10%10==j/10%10||i/10%10==j%10||i/10%10==k/100||i/10%10==k/10%10||i/10%10==k%10||i%10==i/100||i%10==i/10%10||i%10==j/100||i%10==j/10%10||i%10==j%10||i%10==k/100||i%10==k/10%10||i%10==k%10||j/100==i/100||j/100==i/10%10||j/100==i%10||j/100==j/10%10||j/100==j%10||j/100==k/100||j/100==k/10%10||j/100==k%10||j/10%10==i/100||j/10%10==i/10%10||j/10%10==i%10||j/10%10==j/100||j/10%10==j%10||j/10%10==k/100||j/10%10==k/10%10||j/10%10==k%10||j%10==i/100||j%10==i/10%10||j%10==i%10||j%10==j/100||j%10==j/10%10||j%10==k/100||j%10==k/10%10||j%10==k%10||k/100==i/100||k/100==i/10%10||k/100==i%10||k/100==j/100||k/100==j/10%10||k/100==j%10||k/100==k/10%10||k/100==k%10||k/10%10==i/100||k/10%10==i/10%10||k/10%10==i%10||k/10%10==j/100||k/10%10==j/10%10||k/10%10==j%10||k/10%10==k/100||k/10%10==k%10||k%10==i/100||k%10==i/10%10||k%10==i%10||k%10==j/100||k%10==j/10%10||k%10==j%10||k%10==k/100||k%10==k/10%10||
(i / 100) * (i / 10 % 10) * (i % 10 ) * (j / 100) * (j / 10 % 10) * (j % 10 ) * (k / 100) * (k / 10 % 10) * (k % 10 ) == 0 ) {
//循环出来的结果 手动再把所有为零的情况写上 0×任何数为零
continue;//补集
}
cout << i << " " << j << " " << k << endl;
}
return 0
}
题目总结
知识点
模拟 枚举