分析: 因为甲是二位正整数,且取最大值,所以只要在99—10之间遍历一遍找到满足条件 的值即可。
#include<bits/stdc++.h> using namespace std; int m,x,y; void print(double t){ if(m==t) printf(" Ping"); else if(m<t) printf(" Cong"); else printf(" Gai"); } int main(){ cin>>m>>x>>y; for(int i=99;i>=10;i--){//从99-10遍历一遍,找到甲的能力值 int j=i%10*10+i/10;//乙的能力值 double z=abs(i-j)*1.0/x;//丙的能力值 if(j==y*z){ cout<<i; print(i); print(j); print(z); return 0;//不用break,就可以少用一个标志变量来判断是否存在这样的甲值 } } cout<<"No Solution"; return 0; }