迭代版本的简单乘法
代码如下:
#include<iostream>
using namespace std;
#include<string>
#include<cmath>
//利用迭代实现简单乘法
int primary_mul(int n_a,int n_b)
{
int n_mul = 0;
for (; n_b != 0; n_b -= 1)
{
n_mul += n_a;
}
return n_mul;
}
int main()
{
cout << "请输入测试次数:" << endl;
int n;
cin >> n;
while (n)
{
int a, b, mul = 0;
cout << "请输入a和b:" << endl;
cin >> a >> b;
cout << "a*b=" << primary_mul(a, b) << endl;;
n--;
}
return 0;
}
命题1.1证明:
(1)存在a | b,b | c ,则有 a | c ;
证明如下:
由a|b得:b=q1ab=q_1ab=q1a,由b|c得:c=q2bc=q_2bc=q2b
故有:c=q2q1a=q3ac=q_2q_1a=q_3ac=q2q1a=q3a
所以有a|c。
(2)存在c|a,c|b,则有c|(ma+nb);
证明如下:
有c|a得:a=q1ca=q_1ca=q1c,由c|b得:b=q2cb=q_2cb=q2c
所以:ma+nb=mq1c+nq2c=(mq1+nq2)c=q3cma+nb=mq_1c+nq_2c=(mq_1+nq_2)c=q_3cma+nb=mq1c+nq2c=(mq1+nq2)c=q3c
则有:c|(ma+nb)。
定理1.1唯一性证明:
假设存在两组数q1和r1,q2和r2使得a=qb+ra=qb+ra=qb+r。设m=q1-q2,则有
a=q1b+r1=(m+q2)b+r1=q2b+mb+r1=q2b+r2 a=q_1b+r_1=(m+q_2)b+r_1=q_2b+mb+r_1=q_2b+r_2 a=q1b+r1=(m+q2)b+r1=q2b+mb+r1=q2b+r2
所以有:
r2=mb+r1>br_2=mb+r_1>br2=mb+r1>b
与存在性矛盾,故不可能存在两组数据q和r使得a=qb+ra=qb+ra=qb+r成立。