1.用 C 语言编程实现一种迭代版本的简单乘法。
#include <iostream>
using namespace std;
int x(int a,int b){
int c = a;
for (int i = 1; i < b; i++) {
a += c;
}
return a;
}
2. 证明命题1.1 ,设 a, b, c ∈ Z,如果 a | b,b | c,则 a | c。如果 c | a,c | b,则对任意 m, n ∈ Z,有c | (ma + nb)。
a|b,b|c,即b=q1a,c=q2b
则c=q1q2a
因为q1,q2为整,所以c=q3a,即a|c。(q3=q1*q2)
c|a,c|b即a=q1c,b=q2c.
设整数m,n。总有c|(ma+nb),即ma+nb=q3c.
即mq1c+nq2c=q3c.
(mq1+nq2)c=q3c.
可知显然成立,总有整数q3=(mq1+nq2).
3.定理1.1的证明
唯一性证明:
假设有q,r,q1,r1使得
a=qb+r(0<=r<b).
a=q1b+r1(0<=r<b),
则(q-q1)b=-(r-r1),如果q!=q1,则
|(q-q1)b|>=b,而|-(r-r1)|<b,显然矛盾,故q=q1,r=r1.