输入三个数按从小到大顺序输出_初级编程C++题:11H1172: 数之和13

7f66d10ae021a049edb79048df35c9c8.png

时间限制: 1 Sec 内存限制: 128 MB

题目描述

已知n,求出1至n之间(包括n),满足每位数字之和为13的所有整数,每行输出8个满足条件的数.要求输出的所有数从小到大排序.其中1<=n<=1000.

例如:当n=157时,1至157之间有9个数:49,58,67,76,85,94,139,148,157它们的数字之和均为13.

b671775e50b7e96e9e4fabda7659d026.png

输入

只有一行,该行只有一个正整数n

输出

有若干行,除最后一行外每行都有8个满足条件的整数,它们以一个空格分隔(每行前后,及两个整数之间不得有多余的空格。若在1至n间没有一个数符合各位数字之和为13,则输出一行字符"No such number!"

样例输入 Copy

157

样例输出Copy

49 58 67 76 85 94 139 148157
dfe5bdc3f64cfbcc5a3b89416bc6a3ef.png

V

V

V

V

V

V

V

V

V

解题:

#includeusing namespace std;bool t=1;bool pd(int n){ int s=0; while(n>0) { s+=n%10; n/=10; } return s==13;}int main(){ int r,k=0,sum=0; cin>>r; for(int i=1;i<=r;i++) if(pd(i)) { t=0; k++; cout<