无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【藍橋杯學習記錄】貨物擺放

2022-04-04 17:31 作者:長舟泛歌  | 我要投稿

一、題目

小藍有一個超大的倉庫,可以擺放很多貨物。

現(xiàn)在,小藍有?nn?箱貨物要擺放在倉庫,每箱貨物都是規(guī)則的正方體。小藍規(guī)定了長、寬、高三個互相垂直的方向,每箱貨物的邊都必須嚴格平行于長、寬、高。

小藍希望所有的貨物最終擺成一個大的長方體。即在長、寬、高的方向上分別堆?L、W、H 的貨物,滿足?n = L × W × H。

請問,當?n = 2021041820210418時,(注意有?16?位數(shù)字)時,總共有多少種方案?

二、解題思路

本題思路很簡單,可以用三重循環(huán)(循環(huán)變量依次為i,j,k),在第三重循環(huán)檢測是否等于n,但是因為數(shù)太大,所以需要優(yōu)化,否則的話會運行很長時間(看藍橋杯解析講最基本的暴力算法要運行一年才能得出結(jié)果,可怕)。

首先在三重循環(huán)中,可以在第二重循環(huán)中先判斷i*j是否大于n,這樣可以少運行一點時間。但是這樣還不夠。

我們發(fā)現(xiàn)對于能夠符合i*j*k的數(shù),一定是n的因數(shù)所以我們可以先算出這些因數(shù)并存儲在一個數(shù)組a中,這樣只需要一個循環(huán),并且這個循環(huán)也可以優(yōu)化,我們會發(fā)現(xiàn)對與n的因數(shù)x,n/x也是n的因數(shù),所以在循環(huán)中可以先判斷x是否是他的因數(shù),然后n/x也是他的因數(shù)。當然還有種特殊情況就是x*x=n時,只需要將一個x加入數(shù)組就行,所以還需要判斷一下x是否等于n/x。此時可以看出來,我們不需要再循環(huán)sqrt(n) (%5Csqrt%7Bn%7D%20)之后的數(shù)了,因為在前面的循環(huán)中我們已經(jīng)計數(shù)過了。

最后只需要在數(shù)組a中進行三重循環(huán),判斷a[i]*a[j]*a[k]是否等于n就可以了,這樣時間大大縮短了。

三、完整代碼


【藍橋杯學習記錄】貨物擺放的評論 (共 條)

分享到微博請遵守國家法律
连云港市| 土默特右旗| 临汾市| 启东市| 建瓯市| 繁峙县| 兴山县| 华坪县| 新营市| 铅山县| 久治县| 绥棱县| 长葛市| 隆子县| 绥芬河市| 桐柏县| 中卫市| 杨浦区| 津市市| 广河县| 宣化县| 上杭县| 许昌市| 辽宁省| 望城县| 射洪县| 贵州省| 壤塘县| 冕宁县| 永善县| 吉隆县| 济阳县| 吉水县| 泗阳县| 健康| 临西县| 天峻县| 曲靖市| 九龙县| 新田县| 民县|