题解
三连击
1 条题解
-
0
#include<bits/stdc++.h> using namespace std; bool f(int c){ int t[10]={}; t[c%10]++; t[c/10%10]++; t[c/100%10]++; t[2*c%10]++; t[2*c/10%10]++; t[2*c/100%10]++; t[3*c%10]++; t[3*c/10%10]++; t[3*c/100%10]++; //保证生成的三个数都是从1~9中取的,且每个数只能取一次 for(int i=1;i<=9;i++){ if(t[i]!=1){ return 0; } } return 1; } int main(){ //枚举三位数 for(int i=1;i<=9;i++){ for(int j=1;j<=9;j++){ for(int k=1;k<=9;k++){ int x=i*100+j*10+k;//组成三位数 //保证其余两个数也是三位数 if(2*x<=999&&3*x<=999&&f(x)){ cout<<x<<" "<<2*x<<" "<<3*x<<endl; } } } } return 0; }
- 1