# CINTA 作业一加减乘除:
------
## 任务如下
> 1.
>* 用 C 语言编程实现一种迭代版本的简单乘法。
>2.
>* 证明命题1.1。
>3.
>* 完成定理1.1的证明(除法算法)
### 1.用 C 语言编程实现一种迭代版本的简单乘法。
>
```c++
#include <iostream>
using namespace std;
int inverse(int a, int b)
{
int s = 0;
while (b != 0)
{
s = s + a;
b = b - 1;
}
return s;
}
int main()
{
int m, n, s;
cin >> m;
cin >> n;
s = inverse(m, n);
cout << endl << "m*n=" << s;
return 0;
}
```
### 2.证明命题1.1。
> 若有a|b,b|c,则有a|c;
> 证明:
>
>* 由a|b,b|c可知a=qb,b=pc,存在p,q使得该等式成立
>* 则a=q(b)=q(pc)=pqc
>* 可知pq为整数
>* 则a|c可证
>若有c|a,c|b,则有c|(ma+nb);
>* 由c|a,c|b可知存在整数p,q使得c=qa,c=pb
>* 则 ma+nb=mqc+npc=(mq+np)c
>* 而 mq+np为整数
>* 可得c|(ma+nb)
### 3.定理1.1的计算除法运算
>* 1.存在性:
存在一个最小元 r ∈ S,且 r = a − qb。
则a = qb + r, r ≥ 0。
且由a=qb+r得a/b=q+r/b,显然有a/b≥q,
而a/b是个有理数,取值范围为q≤a/b<q+1。
则q+r/b<q+1即r/b<1即r<b
>* 2.唯一性:
假定存在两对整数对q1和r1、q2和r2,且q1≠q2、r1≠r2
则有q1b+r1=q2b+r2=a
可得(q1-q2)*b=r2-r1。
而q1≠q2,且q1和q2都是整数,q1-q2≠0,
而r2-r1=(q1-q2)*b
可得 (r2-r1)|b,0<=(r2-r1)<=r2<b
而能满足该条件必须有r1=r2,q1=q2,与假设矛盾
因此不存在两队整数对使a=qb+r