日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Captain Flint and Crew Recruitment

發(fā)布時(shí)間:2023/12/16 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Captain Flint and Crew Recruitment 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Captain Flint and Crew Recruitment

思路

題目大意: 如果一個(gè)整數(shù) xxx可以被表示成兩個(gè)質(zhì)數(shù) pppq(p≠q)q(p≠q)q(p?=q)的積,那我們可以把他叫做為近質(zhì)數(shù).

輸入一個(gè)整數(shù)nnn,請(qǐng)將它表示成四個(gè)不同的正整數(shù)的和,要求其中三個(gè)是近質(zhì)數(shù)

我們先列出最小的近質(zhì)數(shù)并尋早規(guī)律.

可以看到,最小的三個(gè)近質(zhì)數(shù)分別為 2?3,2?5,2?7(6,10,14)2*3,2*5,2*7 (6,10,14)2?3,2?5,2?76,10,14)

那也就是說,小于(6+10+14+1=31)(6+10+14+1 = 31)(6+10+14+1=31)nnn 無法被如此表示.

接下來我們考慮重復(fù)的情況. 當(dāng)nnn大于(6+10+14+14=44)(6+10+14+14 = 44)(6+10+14+14=44)的時(shí)候,無需考慮重復(fù)問題.

那就只需要看看三個(gè)特例(6,10,14重復(fù))(6,10,14重復(fù))(6,10,14復(fù))能不能被其他的方案排列.

3?5153*5 \quad153?515也是近質(zhì)數(shù),因此我們很容易得到

6101466\quad 10\quad 14 \quad6610146 的替代: 6101556\quad 10 \quad15\quad 5610155

61014106\quad 10\quad 14\quad 106101410 的替代:6101596\quad 10\quad 15\quad 9610159

61014146\quad 10 \quad14\quad 146101414 的替代: 61015136\quad 10\quad 15 \quad136101513

對(duì)這三個(gè)特例做一個(gè)特判即可 時(shí)間復(fù)雜度為O(1)O(1)O(1)

#include<bits/stdc++.h>using namespace std; int main() {int _;scanf("%d", &_);while (_--) {int n;scanf("%d", &n);// 6 10 14if (n <= 30) {puts("NO");continue;}puts("YES");if (n == 36) {printf("6 10 15 5\n");continue;}if (n == 40) {printf("6 10 15 9\n");continue;}if (n == 44) {printf("6 10 15 13\n");continue;}printf("6 10 14 %d\n", n - 30);} }

總結(jié)

以上是生活随笔為你收集整理的Captain Flint and Crew Recruitment的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。