# 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也唯一
|