|
|
楼主 |
发表于 2005-12-6 16:03
|
显示全部楼层
6、编程:读入一个正整数,把其和是该整数的正整数序列输出,如27,结果为:2--7,8--10,13--14。
8 k2 j$ a! S. l) p) C6 A
" J( q* B/ m" H源程序如下:7 X( q: K$ v( E% f+ y( P
#include "stdafx.h"
, N9 }! @+ e3 z, H4 }& Q. j#include <iostream>
1 Q4 ?# L0 X! }/ qusing namespace std;
1 q, S% c0 |: o& {0 X9 O0 c2 q; f- s2 }+ l z% W/ L; m/ @
int _tmain(int argc, _TCHAR* argv[])
: u* [0 K8 i% q- |' B0 d{
n+ E4 F% V9 [& ], A int n;% r( ?, v" `: I* I$ A7 G3 U
cout<<"请输入正整数:";0 [: t2 {! ~' S. H
cin>>n;
, h- B* I+ F# ^ if(n<= 0)exit(0);. D! h" e1 w: X9 D* K3 r2 C
for(int j = 1; j< n; j++){$ @! p D8 N5 S, J- ]3 W
int i = j;
8 {' W) K) p6 ]4 G$ i: ` o int begin = j;
) v# K* l0 H6 Y int sum = 0;* E: g5 G; i" k, \1 y, }1 a* T
while(sum< n){0 z3 q( Y; k3 {" i
sum = sum + i;( D. e% T: t( u% M: _; w
i++;
* ~1 ]3 B+ r Y* b% S }" _( J( r3 G, J# C4 r
if(sum == n){ //符合题目要求,输出结果$ W9 r5 D; E. ~) ~; k5 o
for(int k = begin;k < i; k++){& ^( s; q" q. ^/ }
cout<<k<<" ";
* X- j7 ]8 T/ ~8 w/ E }
* i* \" I, D/ {2 `; r! j cout<<endl;6 \1 m+ e; i, q6 T" r. b
}1 B$ i# D. {, | D4 d
}
0 z7 v1 }* L' V7 _) O cout<<"OK";
3 Y9 A' S6 y! |) T9 t return 0;
; v4 F6 ]- Y* k}
# |' V6 a7 i) H! N0 i( e* L: o& N! X, |# e8 B$ R. N+ M0 f! \
输出结果:
+ i/ [3 n4 E5 P/ a# m( C+ k请输入正整数:27
: d. d* _0 K% D; f2 3 4 5 6 7/ S! ^6 l( n1 v, U9 B$ V% _+ J, f) x
8 9 10
$ h& y6 `: V0 T) W3 u13 14. z5 w# @6 I% s1 ?5 C
OKPress any key to continue8 J4 b4 L3 B- Q1 R" ?8 w
' L+ f. v6 ~5 p9 T[ Last edited by dy.f on 2005-12-9 at 12:09 ] |
|