time limit: 1000 ms / memory limit: 65536 kb
description
任何乙個自然數的約數中都有1和它本身,我們把小於它本身的因數叫做這個自然數的真約數。
如6的所有真約數是1、2、3,而且6=1+2+3。像這樣,乙個數所有真約數的和正好等於這個數,通常把這個數叫做完美數。
古希臘人非常重視完美數。畢達哥拉斯發現它之後,人們就開始了對完美數的研究。
現在要求輸出所有在m和n範圍內的完美數。
input
輸入資料有多組,每組佔一行,包括兩個整數m和n(1≤m≤n≤99999999)。
輸入以0 0結束。
output
對於每個測試例項,要求輸出所有在給定範圍內的完美數,就是說,輸出的完美數必須大於等於m,並且小於等於n,如果有多個,則要求從小到大排列在一行內輸出,之間用乙個空格隔開;
如果給定的範圍內不存在完美數,則輸出no;
每個測試例項的輸出佔一行。
sample input
1 100 0 0sample output
6 28source
zjgsusubmit
#include
int main()
} if (x == 0)
} printf("\n");
if (!s) printf("no\n"); }
return 0; }
第16周 完美數(效率低,求改進)
問題及 檔名稱 num.cpp 作 者 單昕昕 完成日期 2014年12月12日 版 本 號 v1.0 問題描述 任何乙個自然數的約數中都有1和它本身,我們把小於它本身的因數叫做這個自然數的真約數。如6的所有真約數是1 2 3,而且6 1 2 3。像這樣,乙個數所有真約數的和正好等於這個數,通常把這...
PAT乙級 1030 完美數列(執行超時)
此題還有乙個測試點沒過 兩個坑 1,用long防止溢位兩個10的九次方相乘會溢位。2.執行超時問題要判斷。我這個判斷不行。要用第二個 首先將輸入的數字進行sort排序,從小到大。然後設定i,j記錄符合的陣列位置,count記錄符合要求的中間數字 的多少,初始為0,i從0 n,j從i count開始,...
尋找完美數
尋找完美數 首先先看一下這道題目 所有真因子之和小於其本身的數稱為虧數。如 4 的真因子 1 2 之和為 3,小於 4,是虧數。所有真因子之和大於其本身的數稱為盈數。如 12 的真因子 1 2 3 4 6 之和為 16,大於 12,是盈數。不盈不虧的數,即 所有真因子之和等於其本身的數,稱為完美數。...