c_cpp フィボナッチ数列をどこまで小さく记述できるかin C ref:http://qiita.com/maekawatoshiki/items/b1cba7600d3dbd634a79

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp フィボナッチ数列をどこまで小さく记述できるかin C ref:http://qiita.com/maekawatoshiki/items/b1cba7600d3dbd634a79相关的知识,希望对你有一定的参考价值。

int main(){int a=0,b=1,i=35;while(i--)printf("%d\n",(i&1)?(a+=b):(b+=a));}
// 偶数か奇数かの判定
if(i % 2 == 0) // Cでは、0以外はTrueなので
if(i % 2) // にできる。スペースを抜いてBit演算化すると。
if(i&1) // となる。だいぶコンパクトになった。

// { ~ } の消去
// for や if は文が一文のときは{ }を省略できるので。
for(i = 1; i <= x; i++)
{   
    if(i % 2 == 0)
        a += b;
    else
        b += a;
}
// の用なものは
for(i = 1; i <= x; i++)
    if(i % 2 == 0)
        a += b;
    else
        b += a;
// にできる。

// 三項演算子を使えば
if(i % 2 == 0)
        a += b;
    else
        b += a;
// は
(i&1)?(a+=b):(b+=a)
// にできる。
// これだけ小さければ、printf に組み込めるかも?
// やってみた。
printf("%d\n",(i&1)?(a+=b):(b+=a));
// いいね。 ifがいらなくなったので
for(i = 1; i <= x; i++)
 printf("%d\n",(i&1)?(a+=b):(b+=a));
// となった。

// 関数も取っ払っちゃおう。
#include <stdio.h>
int main()
{
    int i, a=1, b=0;
    for(i = 1; i <= 35; i++)
        printf("%d\n",(i&1)?(a+=b):(b+=a));
    return 0;
}
// for 文が無駄なので、
#include <stdio.h>

int main()
{
    int i=35, a=0, b=1;
    while(i--)
        printf("%d\n",(i&1)?(a+=b):(b+=a));
    return 0;
}
// とした。
#include <stdio.h>
int fibo(int x)
{
    int i, a = 1, b = 1;
    for(i = 1; i <= x; i++)
    {   
        if(i % 2 == 0)
            a += b;
        else
            b += a;
    }
    return (i % 2 == 0) ? a : b;
}

int main()
{
    int i;
    for(i = 0; i < 35; i++)
    {
        printf("%d\n", fibo(i));
    }
    return 0;
}
#include <stdio.h>
int fibo(int x)
{
    if(x < 2)
        return 1;
    else
        return fibo(x - 2) + fibo(x - 1);
}

int main()
{
    int i;
    for(i = 0; i < 35; i++)
    {
        printf("%d\n", fibo(i));
    }
    return 0;
}

以上是关于c_cpp フィボナッチ数列をどこまで小さく记述できるかin C ref:http://qiita.com/maekawatoshiki/items/b1cba7600d3dbd634a79的主要内容,如果未能解决你的问题,请参考以下文章

php フィボナッチ数列のイテレーター

markdown メモ化を使ったフィボナッチ数列を求める关数

Typical DP Contest 社论

如何仅输出整个段落[Google Cloud Vision API,document_text_detection]

PLSQL note

php GuzzleでQiita APIv2で投稿をPOSTする小さなサンプル