東華oj 基礎題第40題

2021-10-02 08:33:03 字數 1038 閱讀 8776

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為十...