2007/09/20

[技術系]   「+1」だけで四則演算できないよう…

at 23:11JST
 
キャリーオーバー使うのかと思ったら違った。

「+1」だけで四則演算をするには? − @IT自分戦略研究所
http://jibun.atmarkit.co.jp/lskill01/rensai/algo01/algo01.html
「5−3」は、−3に+1することを5回繰り返せばいいのです。


…。
 (-1)-(3)
は、ここに挙がってるソースじゃ正しく計算できない気がする。

int sub(int a,int b){ 
int ans = 0;
ans = add(-b,a);
return(ans);
}
   :
int add(int a,int b){
int ans = a;
while(b){
ans++;
b--;
}
return(ans);
}


よく見ると、
        printf("1以上の自然数を2つ入力してください\n"); 
scanf("%d %d",&a,&b);
if(a < 1 || b < 1) {
printf("1より小さい数が入力されています\n");
return;
}

あ、先生ズルい! -_-#

かと言ってどうしたらいいのか考えつかない。おかしい…マシン語もできるのに…オレはプログラマーじゃないのか…(うん。プログラマーじゃないじゃん)。
関連しそうな過去記事:
さらに過去の記事
2009/04 (1)   2008/12 (3)   2008/11 (9)   2008/10 (10)   2008/09 (20)   2008/08 (2)   2008/07 (23)   2008/06 (16)   2008/05 (22)   2008/04 (11)   2008/03 (21)   2008/02 (20)   2008/01 (21)   2007/12 (32)   2007/11 (37)   2007/10 (46)   2007/09 (63)   2007/08 (33)   2007/07 (41)   2007/06 (81)   2007/05 (173)   2007/04 (168)   2007/03 (113)   2007/02 (123)   2007/01 (92)   2006/12 (111)   2006/11 (185)   2006/10 (20)  
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。