1. 程式人生 > >完數(迴圈)

完數(迴圈)

【問題描述】
一個數如果恰好等於它的因子之和,這個數就成為“完數”。
例如,6的因子為1、2、3,而6=1+2+3,因此6是“完數”。
程式設計序打印出1000之內(包括1000)所有的完數,並按如下格式輸出其所有因子:
6 its factors are 1,2,3.

【輸入形式】
無輸入

【輸出形式】
輸出1000以內所有的完數及其因子,每行輸出一個完數及其因子。
6 its factors are 1,2,3.

【提示】
完數不止一個哦!而且最後一個數後面的結束標點符號是英文狀態的句號。

#include <iostream>
using namespace std;
int main() { for( int i=6; i <= 1000 ; ++i )//對6到1000個數迴圈(6是第一個開始的完數) { int sum = 0; for( int j=1; j <= i/2; ++j )//因子只要到i/2就可以 if( i%j == 0 ) sum += j;//完數 if( sum == i )//有毒輸出格式 { cout << i << " its factors are 1"; for(
int j=2; j <= i/2; ++j ) if( i%j == 0 ) cout << "," << j; cout << "." << endl; } } return 0; }