がんばって英語で書くブログ
英語勉強中なので、ブログも英語で書こうかと。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

kill time
I saw this page.
it's just for kill time:-)


#include <stdio.h>
#include <stdlib.h>

static inline long even(long x)
{
return x / 2;
}

static inline long odd(long x)
{
return 3 * x + 1;
}

/**
* if x is an odd number, it'll return 1
* if x isn't an odd number, it'll return 0
*/
static inline long is_odd(long x)
{
return ((x % 2) != 0);
}

static void start(long x)
{
long cnt = 0;

while (x != 1) {
if (is_odd(x))
x = odd(x);
else
x = even(x);

printf("%ld,", x);

cnt++;

if (cnt == 10) {
cnt = 0;
putchar('\n');
}


}

putchar('\n');
}

static void usage(char *arg)
{
fprintf(stderr, "usage %s [num]\n", arg);
exit(-1);
}

int main(int argc, char **argv)
{
long x;

if (argc != 2)
usage(argv[0]);

x = atol(argv[1]);

start(x);

return 0;

}



this is exsample log.
% gcc 3x_plus_1.c -Wall
% ./a.out 1000
500,250,125,376,188,94,47,142,71,214,
107,322,161,484,242,121,364,182,91,274,
137,412,206,103,310,155,466,233,700,350,
175,526,263,790,395,1186,593,1780,890,445,
1336,668,334,167,502,251,754,377,1132,566,
283,850,425,1276,638,319,958,479,1438,719,
2158,1079,3238,1619,4858,2429,7288,3644,1822,911,
2734,1367,4102,2051,6154,3077,9232,4616,2308,1154,
577,1732,866,433,1300,650,325,976,488,244,
122,61,184,92,46,23,70,35,106,53,
160,80,40,20,10,5,16,8,4,2,
1,
スポンサーサイト

テーマ:英語日記 - ジャンル:学問・文化・芸術

この記事に対するコメント

この記事に対するコメントの投稿














管理者にだけ表示を許可する


この記事に対するトラックバック
トラックバックURL
→http://foobar.blog23.fc2.com/tb.php/135-dc44f95d
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。