40 分拆素數和問題描述 :
把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?
說明:比如10,可以拆成3+7和5+5以及7+3,
但是3+7與7+3相同,只算一種,5+5由於兩個素數相同,不計算在內。
因此,10的拆法只有一種。 輸入說明 :
首先輸入乙個t(不超過500),然後輸入t個正的偶數,其值不會超過10000。 輸出說明 :
對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。 輸入範例 : 4 4 6 8 10 輸出範例 : 0 0 1 1
/*
t40 分拆素數和
演算法概述:對於乙個偶數num,從2到num/2 - 1依次測試拆分是否滿足要求
*/#include#include// 判斷是否為素數
int isprim(int x)}
return 1;
}// 構建素數表
void primearray(int primeflag, int n)
for (i = 2; i < n; i++)}}
}int main()
// }
// printf
("%d\n", count)
;//
// t--;
// }
/*方法2(利用素數表)*/
int primeflag[10001];
int t = 0;
int num = 0;
int i = 0;
int count = 0;
primearray
(primeflag, 10001)
;// 構建素數表
scanf
("%d", &t)
; while (t)
}printf
("%d\n", count)
;
t--;}
return 0;
}
東華oj 基礎題第32題
32 完數個數 問題描述 完數的定義 如果乙個大於1的正整數的所有真因子 不包括自己的那些因子 之和等於它的本身,則稱這個數是完數,比如6,28都是完數 6 1 2 3 28 1 2 4 7 14。本題的任務是判斷兩個正整數之間完數的個數。輸入說明 第一行是乙個正整數n,表示測試例項的個數,然後就是...
東華oj 基礎題第89題
89 字串壓縮 問題描述 通過鍵盤輸入字母 a z a z 組成的字串,字串長度不超過1000。首先將所有字母統一成小寫字母,然後將字串中連續出現的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1 僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2...
東華oj 高階題第11題
11 abc數字 問題描述 明明的爸爸是一位著名的數學家同時也是一位著名的數學啟蒙老師。他經常出一些簡單而有趣的數學題目來給剛剛接觸數學的小朋友做,培養他們對數學的興趣。一天,明明的爸爸想到了這樣乙個題目。如果有a b c三個1位的正整數,那麼按以下的方法構成2個三位數 第一種方法是a為百位,b為十...