time limit: 10 second
memory limit: 2 mb
問題描述乙個整數n完全數又稱完數、完美數、完備數,是一些特殊的自然數,它所有真因子(即除自己以外的因子)的和等於它本身。例如:6=1+2+3,6是乙個完數。
至今為止,人類共發現了46個完數,由於簡單型別的資料範圍有限,所以僅能求出前n(n<=8)個完數。
有n行,輸出前n個完數,每個數占一行
3
6【題解】28496
如果直接暴力求解 會超時。10s都不夠用。
這題考的是數論。有點**。
完全數和梅森數素數有乙個一一對應的關係
即對於乙個梅森素數mp = 2^p - 1,必有 乙個完全數 2^(p-1) * mp;
比如:p=3
mp=2^3-1=7也是素數
則有完全數2^(3-1)*(2^3-1)=4*7=28
平台很奇怪,我用lld輸出,輸出來的結果是對的,在平台上卻顯示錯誤,後來我沒用lld輸出,一位一位地存入int陣列中,再一位一位地輸出。
【**】
#include #include const int maxn = 1000,maxl = 1000;
int num = 0,n;
void input_data()
bool can(long long x) //判斷x是否為質數
void get_ans()
for (int j = i;j >=1;j--) //再一位一位輸出
printf("%d",temp[j]);
printf("\n");
}p++;
}}int main()
1096 求完全數
description 輸入乙個正整數 repeat 0 repeat 10 做repeat 次下列運算 輸入 2 個正整數m 和n 1 m,n 1000 輸出m 到n 之間的所有完數 完數就是因子和與它本身相等的數 input 見sample output 見sample sample input...
(java)求前n個質數
求1 n的質數 public class prime return true public static void printprime int n public static void main string args public class prime return true public s...
求正整數2和n之間的完全數 改進演算法
亂七八糟的羊 描述 求正整數2和n n 30000 之間的所有完全數,一行輸出乙個。所謂完全數 因子之和等於它本身的自然數,如6 1 2 3,注意因子包括1但不包括自身。格式輸入格式 輸入n。輸出格式 一行乙個數,按由小到大的順序。樣例輸入樣例 7輸出樣例 6限制 時間限制 1000 ms 記憶體限...