|
发表于 2022-6-6 15:09:23
|
显示全部楼层
本帖最后由 jhq999 于 2022-6-6 15:18 编辑
- #include <bits/stdc++.h>
- using namespace std;
- bool isavaliable(int num){
- int i,j,k;
- int vis=1;
- i=num/100,j=(num/10)%10,k=num%10;
- vis|=1<<i,vis|=1<<j,vis|=1<<k;
- num/=3;
- i=num/100,j=(num/10)%10,k=num%10;
- vis|=1<<i,vis|=1<<j,vis|=1<<k;
- num<<=1;
- i=num/100,j=(num/10)%10,k=num%10;
- vis|=1<<i,vis|=1<<j,vis|=1<<k;
- return (vis==1023);
- }
- int main(){
- ios::sync_with_stdio(0);
- int count=0,i,j,k,num;
- for(num=987;num>=369;num--)
- {
- if(num%3||0==num%10||0==(num/10)%10)continue;
- count+=1;
- if(isavaliable(num))
- {
- cout<<(num/3)<<' ';
- cout<<((num/3)<<1)<<' '<<num<<endl;
- }
- }
- cout<<count<<endl;
- return 0;
- }
复制代码- #include <bits/stdc++.h>
- using namespace std;
- bool isavaliable(int num){
- int i,j,k;
- int vis=1;
- i=num/100,j=(num/10)%10,k=num%10;
- vis|=1<<i,vis|=1<<j,vis|=1<<k;
- num>>=1;
- i=num/100,j=(num/10)%10,k=num%10;
- vis|=1<<i,vis|=1<<j,vis|=1<<k;
- num*=3;
- i=num/100,j=(num/10)%10,k=num%10;
- vis|=1<<i,vis|=1<<j,vis|=1<<k;
- return (vis==1023);
- }
- int main(){
- ios::sync_with_stdio(0);
- int count=0,i,j,k,num;
- for(num=246;num<=658;num++)
- {
- if(num%2||0==num%10||0==(num/10)%10)continue;
- count+=1;
- if(isavaliable(num))
- {
- cout<<(num>>1)<<' ';
- cout<<num<<' '<<((num>>1)*3)<<endl;
- }
- }
- cout<<count<<endl;
- return 0;
- }
复制代码 |
评分
-
查看全部评分
|