藍橋杯 歷屆試題 買不到的數目 動態規劃

2021-10-09 03:41:06 字數 615 閱讀 9706

可以用擴充套件歐幾里得但是一般很難想出來,網上有很多。

這裡我用動態規劃做的。

假如兩個整數中最小的是min,最大的是max,那麼我們知道乙個數是否可以由輸入的兩個整數組成就看 當前數減去min或者減去max是否可以由輸入的倆個數組成

設如果可以由輸入的兩個數組成那麼dp[i]=1,否則為0。

那麼就有***if(dp[i-max]==1||dp[i-min]==1) dp[i]=1***。

從這裡我們就可以知道如果有連續的min個數可以由這兩個數組成

那麼後面的所有數都可以由其組成這是很顯然的。

#include

#include

#include

using

namespace std;

intmain()

else

if(ans==lmin)

break

;//如果ans==lmin 那i後面的所有數都可以由倆個數組成

i++;}

int l=0;

for(

int j=

0;j<=i;j++)}

cout

}

藍橋杯 歷屆試題 買不到的數目

歷屆試題 買不到的數目 時間限制 1.0s 記憶體限制 256.0mb 問題描述 小明開了一家糖果店。他別出心裁 把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。你可以用計算機測試一下,在這種包...

藍橋杯 歷屆試題 買不到的數目

問題描述 小明開了一家糖果店。他別出心裁 把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大於17的任何數字都可以用4和7組合...

歷屆試題 買不到的數目 (藍橋杯)

問題描述 小明開了一家糖果店。他別出心裁 把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大於17的任何數字都可以用4和7組合...