|
6、编程:读入一个正整数,把其和是该整数的正整数序列输出,如27,结果为:2--7,8--10,13--14。4 g4 @4 J- p- l! M: B; m
( w- z* z( D' s源程序如下:1 B; M7 O$ S8 @: k) B0 X% _
#include "stdafx.h"
' ?1 k# i$ W/ j& @#include <iostream>
4 _' L7 K" A+ c8 \+ z1 z# }# busing namespace std;
. l; c# U* J" h: b+ j
9 d% W% E y5 P8 ^! p5 A% _3 ]int _tmain(int argc, _TCHAR* argv[])
3 u9 j; l5 O3 [. c{
h) ^* S& `) }( A0 T w/ f int n;% m% @2 R; ?- k/ g5 W
cout<<"请输入正整数:";
" m6 O+ N4 _7 F. |: m; l cin>>n;$ k; b% S a# r# v4 p
if(n<= 0)exit(0);
, A* @1 ~) s, b7 w& @8 `/ I y for(int j = 1; j< n; j++){
4 ?: S/ X9 t. I! _7 U% x int i = j;* m% H! a" t4 |5 F: |
int begin = j;
+ K$ o! i+ c/ t4 V! G int sum = 0;2 Q1 p$ _+ }( n8 N% ?: {5 [
while(sum< n){ ~ _. ]3 M/ s8 v2 a
sum = sum + i;
8 c1 c& J' D/ r/ m+ Q c i++;
6 T$ t/ ^; I, u% W4 _ }" V, E7 W) F0 S K# P( [
if(sum == n){ //符合题目要求,输出结果) s. X* z) g: D. J H3 U, z% k
for(int k = begin;k < i; k++){% K: p! z) k; I9 e
cout<<k<<" ";
. M) Y: e0 m( _7 n% n2 h+ `* g7 P }7 R1 O1 R9 f) j) p- q$ y
cout<<endl;
) M, @: z1 f$ i4 i2 q. ?2 V }
4 T8 E* i( z+ r% ]: P8 R# f }
: I4 o: e( ^: \; K# d) N cout<<"OK";+ r. S* P3 W' [7 W) d* v
return 0;1 k4 L1 y4 T# [+ H2 s2 q
}9 W& R' j; {( N3 i
* C- f' ~! i2 q
输出结果:5 j+ \) _& y9 N, r4 A4 C
请输入正整数:27! y0 F- j7 k& N E' b4 z+ {
2 3 4 5 6 7; }* x/ c& k( x! [) J! Z
8 9 10& @3 _ ]8 q" q- V7 G* B4 Y
13 146 g6 X0 w, B, r+ Q3 z: h
OKPress any key to continue" Y* m. I- d0 y4 Q8 u6 B" @
; T- P7 q! p% J. e4 Y
[ Last edited by dy.f on 2005-12-9 at 12:09 ] |
|