每個正整數都可以分解成斐波那契數列中的幾個數相加……
從大到小貪心法就可以了……
#include #include #include #include #include #include #include #include #include #include #include #include #include #define PI acos(-1.0) #define mem(a,b) memset(a,b,sizeof(a)) #define sca(a) scanf("%d",&a) #define sc(a,b) scanf("%d%d",&a,&b) #define pri(a) printf("%d\n",a) #define lson i<<1,l,mid #define rson i<<1|1,mid+1,r #define MM 1000005 #define MN 2005 #define INF 100004 #define eps 1e-7 using namespace std; typedef long long ll; string solve(int n) //n的斐波那契進制轉換 { static int fib[305]; fib[0]=fib[1]=1; int i,j; for(i=2;i<300;i++) { fib[i]=fib[i-1]+fib[i-2]; //斐波那契數列 if(fib[i]>n) {j=i;break;} } string s; for(i=j-1;i>0;i--) if(fib[i]<=n) s+='1',n-=fib[i]; else s+='0'; return s; } int main() { int t; sca(t); while(t--) { int n; sca(n); string s=solve(n); cout<
SDUTOJ 1489 求二叉樹的先序遍歷 #inclu
桌子上有一疊盤子,桌子上只能同時放三疊盤子,小的盤子只
C++筆試易錯題集(持續更新),筆試錯題集1.如下代碼輸出結
問題描述: 一個找出通過工廠裝配線的最快方式的制造問題
C++、Java、JavaScript中的日志(log)
//a.h代碼: #pragm