欢迎关注本专栏《C++从零基础到信奥赛入门级(CSP-J)》
问题:1089. 找数游戏
类型:sqrt函数入门
题目描述:
一个三位数,各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字之和不是质数。桐桐想把符合上述条件的三位数找出来,你能帮助她吗?
输入:
无。
输出:
按照从小到大的顺序,输出满足条件的三位数,每行一个。
样例:
输入:
输出:
完整代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
//一、分析问题
//已知:一个三位数
//未知:符合条件的三位数找出来
//关系: 各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字之和不是质数。
//二、定义变量(已知、未知、关系)
int g,s,b;
//三、输入已知
//四、根据关系计算
for(int i=100;i<=999;++i){
g=i%10;
s=i/10%10;
b=i/100;
if(g==s||s==b||g==b) continue;
if(s<=g+b) continue;
for(int j=2;j*j<=(s+b);++j){
//五、输出未知
if((s+b)%j==0){
cout<<i<<"\n";
break;
}
}
}
return 0;
}