5 条题解
-
0
#include<bits/stdc++.h> using namespace std; int main(){ int a,b,c,times=0,i,j,k,i1,i2,i3,j1,j2,j3,k1,k2,k3; cin>>a>>b>>c; for(i=100;i<=999;i++)//设第一个数 { j=i*b/a;//根据比例求第二个数 k=i*c/a;//根据比例求第三个数 if(j<100||j>=1000||k<100||k>=1000) continue;//保证三个数都为三位数 i1=i/100; // i2=i/10%10;//提 i3=i%10; //取 j1=j/100; //每 j2=j/10%10;//个 j3=j%10; //数 k1=k/100; //位 k2=k/10%10;//的 k3=k%10; //数 if(i1==0||i2==0||i3==0||j1==0||j2==0||j3==0||k1==0||k2==0||k3==0) continue;//题目说数字范围为1~9,所以要避免有0的情况 int d[10]={0};//记录1~9各出现了几次 d[i1]++; d[i2]++; d[i3]++; d[j1]++; d[j2]++; d[j3]++; d[k1]++; d[k2]++; d[k3]++; bool pd=true; for(int l=1;l<=9;l++){//判断是否出现数字重复的情况 if(d[l]!=1){ pd=false; break; } } if(!pd){//舍去有数字重复的情况 continue; } cout<<i<<" "<<j<<" "<<k<<endl;//输出 times+=1; } if(times==0){//无解的情况 cout<<"No!!!"<<endl; } return 0;//考试不写0鸡蛋 }
信息
- ID
- 899
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 329
- 已通过
- 90
- 上传者