刚开始学习的试写代码

P1008 [NOIP1998 普及组] 三连击

@[万弘](/space/show?uid=73142) @[小竹生](/space/show?uid=170518) 这是爸爸教我的,说这个一定要掌握好
by benny_zhou @ 2019-05-14 21:39:43


@[極·郭际泽](/space/show?uid=127869) 谢谢啊!我知道了。
by benny_zhou @ 2019-05-14 21:40:43


void p1008() { for (int i=123;i<329;i++) { int a[9]; bool b[9]; memset(a, 0, sizeof(a)); memset(b, false, sizeof(b)); int j = 2 * i, p = 3 * i; a[0] = i / 100; a[1] = i / 10 % 10; a[2] = i % 10; // 个位不能是5和0; if (a[2] == 5||a[2]==0) { continue; } a[3] = j / 100; a[4] = j / 10 % 10; if (a[4] == 0) { continue; } a[5] = j % 10; a[6] = p / 100; a[7] = p / 10 % 10; if (a[7]==0) { continue; } a[8] = p % 10; b[a[0] -1] = true; b[a[1] -1] = true; b[a[2] - 1] = true; b[a[3] - 1] = true; b[a[4] - 1] = true; b[a[5] - 1] = true; b[a[6] - 1] = true; b[a[7] - 1] = true; b[a[8] - 1] = true; for (int h=0;h<9;h++) { //有false代表数字有重复 if (b[h]==false) { break; } if (h==8) { cout << i<<" "<< j << " " << p << endl; } } } }
by xie66 @ 2019-05-23 19:41:04


刚注册,没法发帖子,我的代码第一个for循环中a[8]老随机变1677777之类的,求大佬。
by xie66 @ 2019-05-23 19:42:29


``` #include <bits/stdc++.h> using namespace std; int main(){ for(int i=100;i<=999;i++){ if(i/100+i/10%10+i%10+(i*2)/100+(i*2)/10%10+(i*2)%10+(i*3)/100+(i*3)/10%10+(i*3)%10==45&&(i/100)*(i/10%10)*(i%10)*(i*2/100)*(i*2/10%10)*(i*2%10)*(i*3/100)*(i*3/10%10)*(i*3%10)==362880) cout<<i<<" "<<i*2<<" "<<i*3<<endl; } return 0; }//懒得解释,自己看吧 ```
by lionrenard @ 2019-08-26 19:06:37


上一页 |