求助

P1008 [NOIP1998 普及组] 三连击

一年前写的代码…… ```cpp #include<bits/stdc++.h> using namespace std; int main () { int a,b,c,d,e,f,g,h,j,i; for (i=100;i<=333;i++) { if (i==267) continue;//第一次运算结果出来之后发现有0的存在 但是数据含有0的情况只有一种 所有用continue语句排除含有0的情况 a=i%10; b=i/100; c=(i/10)%10; d=i*2%10; e=i*2/100; f=(i*2/10)%10; g=(i*3)%10; h=(i*3)/100; j=(i*3/10)%10; if (a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=j&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&b!=j&&c!=d &&c!=e&&c!=f&&c!=g&&c!=h&&c!=j&&d!=e&&d!=f&&d!=g&&d!=h&&d!=j&&e!=f&&e!=g&&e!=h&&e!=j&&f!=g&&f!=h&&f!=j &&g!=h&&g!=j&&h!=j) cout<<i<<" "<<i*2<<" "<<i*3<<endl; } return 0; } ```
by Hiraeth @ 2019-03-19 07:35:04


$$ next\_permutation$$ 大法好
by 康师傅 @ 2019-03-19 07:36:08


@[ShaiL](/space/show?uid=191648) 这个代码输出了东西吗。。。
by 3493441984zz @ 2019-03-20 11:41:12


@[野心qwq](/space/show?uid=96968) 我用VScode 编译运行后可以输出结果啊 但是用在线IDE不行…或许是哪里有问题?
by ShaiL @ 2019-03-20 15:07:33


我找到哪里有问题了 ```cpp #include <bits/stdc++.h> using namespace std; int main() { int x, a[9], i; for (x = 102; x < 333; x++) { a[0] = x / 100; a[1] = x / 10 % 10; a[2] = x % 10; a[3] = 2 * x / 100; a[4] = 2 * x / 10 % 10; a[5] = 2 * x % 10; a[6] = 3 * x / 100; a[7] = 3 * x / 10 % 10; a[8] = 3 * x % 10; for (i = 0; i < 9; i++) { for (int j = 0; j < 9 - i; j++) { if (a[j] > a[j + 1]) { int mid; mid = a[j]; a[j] = a[j + 1]; a[j + 1] = mid; } } } for (i = 0; i < 8; i++) //这里应该是8而不是9。。不然有一次比较会是空的 { if (a[i] == a[i + 1] || a[i] == 0) { break; } } if (i == 8) // { printf("%d %d %d\n", x, 2 * x, 3 * x); } } return 0; } ``` 还是要谢谢各位大佬的帮助
by ShaiL @ 2019-03-20 17:17:16


|