CINTA作业一:加减乘除
1、用 C 语言编程实现一种迭代版本的简单乘法
int mul(int a, int b)
{
int temp = 0;
while (b > 0)
{
temp += a;
b--;
}
return temp;
}
2、证明命题1.1
若a,b,c属于正整数,且b可被a整除,c可被b整除,由除法的传递性可知,c可被a整除。
若a可被c整除,b可被c整除,即
a
/
c
=
k
(
k
为
整
数
)
,
b
/
c
=
p
(
p
为
整
数
)
a/c=k(k为整数),b/c=p(p为整数)
a/c=k(k为整数),b/c=p(p为整数),则对于任意整数m,n,有:
m
a
/
c
=
m
k
(
k
为
整
数
)
,
n
b
/
c
=
n
p
(
p
为
整
数
)
ma/c=mk(k为整数), nb/c=np(p为整数)
ma/c=mk(k为整数),nb/c=np(p为整数)
则:
(
m
a
+
n
b
)
/
c
=
m
k
+
n
p
(
m
k
+
n
p
为
整
数
)
(ma+nb)/c=mk+np(mk+np为整数)
(ma+nb)/c=mk+np(mk+np为整数)
故可得:ma+nb可被c整除。
3、完成定理1.1的证明(除法算法)
假设
a
=
b
q
1
+
r
1
=
b
q
2
+
r
2
,
且
q
1
≠
q
2
a=bq_1+r_1=bq_2+r_2,且q_1 \neq q_2
a=bq1+r1=bq2+r2,且q1=q2
0
≤
r
1
<
r
2
<
b
,
即
0
<
r
2
−
r
1
<
b
0 \leq r_1 <r_2 < b,即0 < r_2-r_1<b
0≤r1<r2<b,即0<r2−r1<b
对上述等式移项:
b
(
q
1
−
q
2
)
=
r
2
−
r
1
b(q_1-q_2)=r_2-r_1
b(q1−q2)=r2−r1
因为
q
1
、
q
2
是
整
数
q_1、q_2是整数
q1、q2是整数
所以
q
1
−
q
2
是
整
数
q_1-q_2是整数
q1−q2是整数
故可推出
r
2
−
r
1
可
被
b
整
除
r_2-r_1可被b整除
r2−r1可被b整除
与
0
<
r
2
−
r
1
<
b
矛
盾
0<r_2-r_1<b矛盾
0<r2−r1<b矛盾
原命题得证。