|
|
楼主 |
发表于 2005-12-6 16:03
|
显示全部楼层
6、编程:读入一个正整数,把其和是该整数的正整数序列输出,如27,结果为:2--7,8--10,13--14。
" i" D0 t9 H: j
7 _* _ R# c3 D( @( h* x% A) @9 o5 [2 w3 Q源程序如下:3 o# u1 O$ v- D( W3 D+ x
#include "stdafx.h"* @5 C* o" a [3 G& }. l! E
#include <iostream>
; e2 G1 c7 G! e/ L& K/ _using namespace std;1 @0 ?5 I3 X% m3 r
2 y; p T% a# |+ }: U' e3 K5 Aint _tmain(int argc, _TCHAR* argv[])
) G6 {& Y( Y$ i7 S{. V- f( {5 \% S( I p
int n; b6 s1 \ k( c9 k
cout<<"请输入正整数:";
) ~$ J( Y9 Q$ g0 f cin>>n;
0 I$ }- I, u( _. @: M if(n<= 0)exit(0);8 K9 x- V4 ~# h! f; v+ `
for(int j = 1; j< n; j++){" v4 R; U7 u( n
int i = j;
( i5 y) ?: Q. F8 d3 G int begin = j;
% }2 j& y' I0 U, x4 D int sum = 0;0 S4 u% A4 T8 }0 d
while(sum< n){
" I& z$ H8 z, |( e) r; a6 x9 g& Z sum = sum + i;
4 Z- _7 x4 V1 J i++; 4 H# Y2 S, u0 E
}
' `, n3 e2 q$ T/ F5 D( c2 n1 m if(sum == n){ //符合题目要求,输出结果
" Z) S. @! S" Q for(int k = begin;k < i; k++){3 ^2 @% V3 l' w, K/ O5 w$ y
cout<<k<<" ";
/ u' p7 a4 [+ L1 A& _. @7 } r }8 @7 N0 t# D6 [, {) H$ Q5 X
cout<<endl;
, t' ~) l( _" G1 D2 ^ }9 b8 z1 c/ {- T4 y D7 D
}4 D. h% ]; C, I( _8 h9 U
cout<<"OK";
6 g( D+ }0 y: [9 L return 0;% u W% N4 _9 z D
}# s$ V2 ^2 y# l4 m: }, s
7 y% l5 [4 s2 T6 z
输出结果:
$ V0 n! W5 K$ u! [3 [. Q+ [/ I请输入正整数:27/ L* m4 T3 _/ V% |, P9 m
2 3 4 5 6 7
, w! J* o* o6 U8 9 10
z B1 h# x* C# K+ e6 Q6 {13 14
' F5 Y+ N \) c' ], oOKPress any key to continue
5 j7 P% p% |& j* v. u% S. x% H6 d/ p- j: j
[ Last edited by dy.f on 2005-12-9 at 12:09 ] |
|