upc第五場問題 F 素數分解

2021-10-10 17:36:15 字數 734 閱讀 7089

時間限制: 1 sec 記憶體限制: 128 mb

題目描述

素數,又稱質數,是指除 1 和其自身之外,沒有其他約數的正整數。例如 2、3、5、13 都是合 數,而 4、9、12、18 則不是。

雖然素數不能分解成除 1 和其自身之外整數的乘積,但卻可以分解成更多素數的和。

你需要程式設計 求出乙個正整數最多能分解成多少個互不相同的素數的和。

例如,21 = 2 + 19是21的合法分解方法。21 = 2 + 3 + 5 + 11則是分解為最多素數的方法。

輸入乙個整數n(10≤n≤200)。

輸出n最多能分解成多少個不同的素數的和。

樣例輸入 copy

21樣例輸出 copy

4思路:將比n小的素數都相加,加到s大於n,然後s-n,減出來是素數的話count–;不是的話count-2,即為分解為最多素數

#include

#include

intmain()

if(j>

sqrt

(i))

if(s>=n)

break;}

k=s-n;

if(k>0)

}if(p>

sqrt

(k)) count--;}

printf

("%d"

,count)

;return0;

}

upc第五場 問題 C 洗牌

時間限制 1 sec 記憶體限制 128 mb 題目描述 小明把 n n 為偶數 張牌按編號順序 1,2,3,n 排成一堆,然後開始洗牌。一次洗牌的過程如下 對於一堆牌編號為 a1,a2,an,首先將牌分成均勻的兩堆 a1,a2,am和am 1,am 2,an 其中m n 2 然後按順序交叉插入 a...

2020多校聯賽第五場F題 DPS

輸出有三行,第一行和第三行一樣 需要注意 以及 空格 的個數為 si 的值 當 di 為最大值時,需要將最後乙個 空格 改為 如果有多個最大值,重複該操作。include using namespace std typedef long long l intmain for l i 0 i else...

Problem Z 素數環問題(第五講)

題目描述 把從1到n的正整數排成乙個環,使環中任何相鄰的兩個數之和都為素數,從1開始在一行輸出乙個符合條件的數環,按字典序輸出所有符合條件的數環。n不大於9。輸入一行輸入乙個正整數n,遇到檔案末尾結束。輸出從1開始在每行輸出乙個符合條件的數環,按字典序輸出所有符合條件的數環,數和數之間不加空格。樣例...