C言語なら俺に聞け(入門編)Part 117
■ このスレッドは過去ログ倉庫に格納されています
0566デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN扱うってんだから四則演算はしたいよな。
考えたんだけど、char型配列作って変数に1桁ずつ入れていく方法しか思いつかん。
掛け算は総当たりみたいな感じだ。
128*47の場合
a[0]=8、a[1]=2、a[3]=1
b[0]=7、b[1]=4
計算結果
c[0]=a[0]*b[0];
c[1]=a[0]*b[1];
c[1]+=a[1]*b[0];
c[2]=a[1]*b[1];
c[2]+=a[2]*b[0];
c[3]=a[2]*b[1];
この後cの各桁をチェックしてc[N]>=10なら、
c[N+1]+=(c[N]/10);
c[N]=c[N]%10;
こんな感じか。
掛けるときは各桁とも1桁の整数だから、最大で9*9=81。
81ってことは64じゃ足りないから128が妥当だし、そうするとchar型が最適。
■ このスレッドは過去ログ倉庫に格納されています