|
|
楼主 |
发表于 2005-12-6 16:03
|
显示全部楼层
6、编程:读入一个正整数,把其和是该整数的正整数序列输出,如27,结果为:2--7,8--10,13--14。+ N/ }9 Y& w$ \7 E
! ~2 J( q( h; c! `源程序如下:
5 B% c7 e3 y. H/ ?/ F$ C6 \#include "stdafx.h"
3 A. i) M+ P" V. N4 J#include <iostream>
. i9 e' Z4 C1 a2 t' H( Ausing namespace std;
8 c! f' }! e8 b" M G$ p$ B+ O1 ~. T' }
int _tmain(int argc, _TCHAR* argv[])& N% Q# i- w. L2 J: a2 H5 O+ U* V. K
{
) T1 g. }, f3 l! W; a% w int n;! a" }, j! X9 q
cout<<"请输入正整数:";7 v7 U2 Y$ u1 R/ M" Y% u6 Q. M
cin>>n;
; K) e! }8 M& J* _$ F if(n<= 0)exit(0);
; ]8 u1 Q9 |) `7 ?+ e for(int j = 1; j< n; j++){1 B. O ]7 g2 C: Z% ^7 s' o
int i = j;
5 ^" q2 P, S$ y int begin = j;1 g+ b ?7 x8 ?9 O: W0 z1 J' A
int sum = 0;9 H, H7 |4 Q; K: |+ k3 W
while(sum< n){" a# {& ~" w# O2 x) j. p4 j
sum = sum + i;& u7 _0 y5 k7 A7 \
i++; 9 y& ]8 C/ I) p/ r5 r
}% V/ E, _# `( E) m5 d* \
if(sum == n){ //符合题目要求,输出结果
F3 N2 l) H: p4 Z for(int k = begin;k < i; k++){0 x e1 }7 R6 L3 O
cout<<k<<" ";
& F: F$ r, i, a0 S/ m }
) D$ W7 V3 D# V0 }0 ~ cout<<endl;
9 F- J h: Q+ x7 |; q }
, L( q, d! v- ]* p9 d8 P }
5 C2 G3 n1 F) L1 o, Q, e cout<<"OK";+ q$ k( \, d/ r/ V2 ], z8 }
return 0;4 [2 ~% i9 [- b% ]! p
}3 c2 m0 C+ e3 d! D
+ r! J4 o8 C# D+ z( h" Y输出结果:
1 j( W. `1 A* C q请输入正整数:27- ?- _0 C* |6 s
2 3 4 5 6 7
3 q* O9 t" q$ q) \, m7 M0 n* _) b- @ E8 9 10
- E, g3 e( `) d3 V" g4 u13 14
% B% y3 E% H. i: p2 Y. POKPress any key to continue
3 \) j1 ~$ y9 }% q
4 M) V; J# o& t. \, M$ y: b' j& \& r& }[ Last edited by dy.f on 2005-12-9 at 12:09 ] |
|