|
|
楼主 |
发表于 2005-12-6 16:03
|
显示全部楼层
6、编程:读入一个正整数,把其和是该整数的正整数序列输出,如27,结果为:2--7,8--10,13--14。/ a. Q$ I/ D% b& ]9 R
2 B- a: i$ T* ^! R1 N9 m源程序如下:
, N. K! d) }. z# P I" L8 W#include "stdafx.h"
8 K# T; f; ]1 s |0 z' T8 g" b/ _#include <iostream>
1 c _( `( v% y) b! B% N) [% Yusing namespace std;7 O& S8 l' T( {0 z
: {, u! ~# z' L
int _tmain(int argc, _TCHAR* argv[])9 i; u. {, ?5 j! g6 \' S) ~: j
{% }% [. u; A5 V' q( _! [# X# e
int n;
3 I! ]) H+ q' `& k cout<<"请输入正整数:";) r. ~ z4 y' Q& k7 w) G
cin>>n;
, \5 O% ^ i$ d% k6 t. q if(n<= 0)exit(0);
( ^# q+ {9 L* I for(int j = 1; j< n; j++){
% r% L' r, K6 r' o0 H' V. i int i = j;
2 G. Q$ K7 E3 O6 s+ _4 b* [ int begin = j;1 p# f" k8 W) Y1 O/ n% Y# }
int sum = 0;+ I7 Z$ U2 M3 z# m% Q1 ~ I
while(sum< n){9 X2 |" W/ _5 g; e2 K! F" y
sum = sum + i;
/ }' _+ n; H' J; d' r i++; 5 B, ]4 y* g/ R! \0 k5 X
}
( x) @4 y# w7 o' U9 d; ]" V" `2 y if(sum == n){ //符合题目要求,输出结果
: J( |7 y* y; [. d for(int k = begin;k < i; k++){8 P% M9 }; a4 \
cout<<k<<" ";
" D. C& w B" z! ]/ J }1 Q. V) [8 Y: C; T% O1 P Y/ u
cout<<endl;
0 g" y# R. Z: B6 T; E& c }3 s, X3 T4 L* s' x7 N
}: L0 p; b& y1 ~" t' Y1 Q
cout<<"OK";
; f, b% V4 ?1 }3 W+ J7 K( f: ]$ `7 G return 0;) i2 m$ ]) H" ]5 U: t+ k& d
}
3 _' `( b/ t" z! ~
# O, ]/ w5 v3 \# Y9 [2 c3 J; Q* [: M输出结果:
7 ?8 A$ e2 T/ E( P- |请输入正整数:27
N9 }. F e0 y2 b" q9 y2 3 4 5 6 7, Y- S- A2 d* c1 m. u( O& l
8 9 10, z2 r$ M: V ^2 V" a
13 14
: ~$ m3 j" h/ v6 n9 POKPress any key to continue
/ N& R1 y" v2 w% u
. G" v5 w% ]8 I[ Last edited by dy.f on 2005-12-9 at 12:09 ] |
|