题目描述
一个三位数,各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字之和不是质数。桐桐想把符合上述条件的三位数找出来,你能帮助她吗?
输入
无
输出
按照从小到大的顺序,输出满足条件的三位数,每行一个。
来源
需要找规律的循环
标签
题解:
#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; }