# 1、用C语言编程实现一种迭代版本的简单乘法
#include <iostream>
using namespace std;
int ddcc(int a, int b) {
int m = 0;
while (b > 0) {
if (b & 1) {
m += a;
}
a = a << 1;
b = b >> 1;
}
return m;
}
int main() {
int a = 0;
int b = 0;
cin >> a >> b;
int t = ddcc(a, b);
cout << t << endl;
return 0;
}
# 2、证明命题1.1
- **设a,b,c∈Z,如果a|b,b|c,则a|c**
- ∵a|b、b|c
- ∴存在唯一的整数m、n满足b=am,c=bn
- ∴c=bn=amn
- ∴c/a=mn,又mn是整数
- ∴a|c成立
- **如果c|a,c|b,则对任意m,n∈Z,有c|(ma+nb)**
- ∵c|a、c|b
- ∴存在唯一的整数i、j满足a=ci和b=cj
- ∴ma=cim,nb=cjn
- ∴ma+nb=cim+cjn=c(im+jn),又im,jn均为整数
- ∴c|(ma+nb)成立
# 3、证明定理1.1
- 证明:
- 假设存在两个整数满足上述式子,即q1*b+r1=q2*b+r2
- 两式相减得r2-r1=(q1-q2)*b,其中q≠0,所以b|(r2-r1)
- 又因为0<=r1<b,0<=r2<b
- 所以-b<r2-r1<b
- 综上r2-r1=0,即r1=r2
- r唯一,q也唯一