ぼるじょあがC/C++の宿題を片付けますYO! 39代目
[1] 授業単元: C言語入門
[2] 問題文:(1)減算関数(sub)の動作原理(なぜこのやりかたで減算が
できるのか)について説明せよ。(下に示すプログラム)
(2)除算のアルゴリズムを考えてわかりやすく示せ。
Cのプログラムを書く必要はないが,アルゴリズムの説明に加えて
それをプログラムとして実装した場合は評価する。
ただし,プログラムのみの提出は認めない。
(1)の減算のアルゴリズム
void neg (int x[], int a[]) {
int carry = 1;
int i;
for (i = 0; i< SIZE; i++) {
int z = BASE - 1 -x[i] + carry;
a[i] = z % BASE;
carry = z / BASE;
}
}
void sub (int x[], int y[], int a[]) {
static int z[SIZE];
neg(y, z);
add(x,y,a);
[3] 環境
[3.1] OS: XP
[3.2] コンパイラ(バージョン):
[3.3] 言語:C
[4] 期限:2005年2月7日8:00まで のいずれか
[5] その他の制限:(1)はx+(-y)=x-yという解答ではなく、どのような過程を経て
その状態までたどり着いたかの説明が求められています。(2)はa / b;という答え
では駄目だそうです。お願いします。