HDU 5914 Triangleフィボナッチ数列&&バイナリカットストライプ
3192 ワード
HDU5914
タイトルリンク
标题:1からnまでの長さの木の棒がn本あって、最低でも何本持っていって、残った木の棒がどうしても三角形にならないようにする.
标题:フィボナッチ数列、a+b=cはちょうど三角形を構成することができなくて、暴力は良くて、押してもいいです.
金棒を切る
1本の金条の長さは31センチメートルで、もしそれを数段に切って、その中の1段あるいは何段が1から31の中のいかなる整数の金条に成長することができるならば、何回切りますか?
第一反応はフィボナッチ数列1 2 3 5 8 12で、5刀を切ったが、結果は間違っていた.この問題はバイナリでやるべきだ.123は3を必要としないので、12は3を構成することができるので、124はもっと良い選択です.
この2つの問題は似ているようですが、これは2つの問題なので、よく区別しなければなりません.
1 2 4 8 16、ちょうど31、4刀を切って、答えは4です.
転載先:https://www.cnblogs.com/Ritchie/p/6426624.html
タイトルリンク
标题:1からnまでの長さの木の棒がn本あって、最低でも何本持っていって、残った木の棒がどうしても三角形にならないようにする.
标题:フィボナッチ数列、a+b=cはちょうど三角形を構成することができなくて、暴力は良くて、押してもいいです.
#include
#include
#include
using namespace std;
int main()
{
int t,n,cas=1;
scanf("%d",&t);
int a[25];
memset(a,0,sizeof(a));
a[1]=1;
a[2]=1;
a[3]=1;
a[5]=1;
a[8]=1;
a[13]=1;
while(t--)
{
scanf("%d",&n);
int ans=0;
for(int i=1;i<=n;i++)
if(!a[i]) ans++;
printf("Case #%d: %d
",cas++,ans);
}
return 0;
}
金棒を切る
1本の金条の長さは31センチメートルで、もしそれを数段に切って、その中の1段あるいは何段が1から31の中のいかなる整数の金条に成長することができるならば、何回切りますか?
第一反応はフィボナッチ数列1 2 3 5 8 12で、5刀を切ったが、結果は間違っていた.この問題はバイナリでやるべきだ.123は3を必要としないので、12は3を構成することができるので、124はもっと良い選択です.
この2つの問題は似ているようですが、これは2つの問題なので、よく区別しなければなりません.
1 2 4 8 16、ちょうど31、4刀を切って、答えは4です.
転載先:https://www.cnblogs.com/Ritchie/p/6426624.html