CINTA作业一

迭代版本的简单乘法
#include<iostream>
#include"math.h"
using namespace std;

int multiply(int a, int b)
{
	int sign=1;
	if (a == 0 || b == 0)return 0;
	if (a < 0 && b>0 || a > 0 && b < 0) {
		sign = -1;
		a = abs(a);
		b = abs(b);
	}
	int m = 0;
	int tem = b;
	b = 0;
	while ((b-1) != tem)
	{
		if (b == 0) {
			b++;
		}
		else {
			m = a + m;
			b++;
		}
		
	}
	return sign*m;
}

int main()
{
	int x = -4;
	int y = 7;
	cout << x<<"x"<<y<<"="<<multiply(x, y);
	return 0;
}

在这里插入图片描述

求证命题1.1:

设a,b,c ∈Z,如果a |b,b |c,则a |c。如果c |a,c |b,则对任意m,n ∈Z,有c |(ma + nb)。

证:设a,b,c ∈Z,如果a |b,b |c,则a |c。

因为
a ∣ b   ,   b ∣ c a|b\ ,\ b|c ab , bc
所以
b = k 1 a   ,   c = k 2 b   ( k 1 , k 2 ∈ Z ) b=k_1 a\ ,\ c=k_2b\ (k_1 ,k_2\in Z) b=k1a , c=k2b (k1,k2Z)

c = k 1 k 2 a   ( k 1 k 2 ∈ Z ) c=k_1 k_2a\ (k_1k_2\in Z) c=k1k2a (k1k2Z)

a ∣ c a|c ac

证:如果c |a,c |b,则对任意m,n ∈Z,有c |(ma + nb)。

因为
c ∣ a   ,   c ∣ b c|a\ ,\ c|b ca , cb
所以
a = k 1 c   ,   b = k 2 c   ( k 1 , k 2 ∈ Z ) a=k_1 c\ ,\ b=k_2c\ (k_1 ,k_2\in Z) a=k1c , b=k2c (k1,k2Z)
所以
m a + n b = m k 1 c + n k 2 c = ( m k 1 + n k 2 ) c ma+nb=mk_1c+nk_2c=(mk_1+nk_2)c ma+nb=mk1c+nk2c=(mk1+nk2)c

c ∣ ( m a + n b ) c|(ma+nb) c(ma+nb)

求证定理1.1:

对任意给定的整数a 和b,其中b > 0,存在唯一的整数对q(商)和r(余数)使得,a = qb + r且0 ≤r < b。

证明:

首先证明存在性,即存在这样的q,r且r<b
令 S = { a − b k : k ∈ Z 且 a − b k ≥ 0 } 令S=\{a-bk:k\in Z且a-bk\geq0\} S={abk:kZabk0}
若0∈S,即存在k=a/b使得a-bk=0∈S。

若0∉S,为使S非空,

​ 当a>0时,存在k=0使得a-bk=a>0,即此时a-bk∈S

​ 当a<0时,存在k=2a使得a-bk=a(1-2b)>0,即a-bk∈S

所以集合S非空,根据良序定理,S必然存在一个最小元素r=a-bq,即a=bq+r且r>=0。

然后证明r<b,使用反证法:

假设r>b

则a-b(q+1)=a-bq-b=r-b>0,即a-b(q+1)∈S

然而根据上述证明可知r=a-bq时S中的最小元素,而a-b(q+1)<a-bq与之矛盾,故假设不成立

所以r<b。

证明唯一性

假设存在r,r’,q,q’使得
a = b d + r , 0 ≤ r < b 且 a = b q ′ + r ′ , 0 ≤ r ′ < b a=bd+r,0\leq r<b 且 a=bq'+r',0\leq r'<b a=bd+r,0r<ba=bq+r,0r<b
可得bq+r=bq’+r’即b(q-q’)=r’-r

不妨设r’>=r
则 b ∣ ( r ′ − r ) 且 0 ≤ r ′ − r ≤ r ′ < b 则b|(r'-r)且0\leq r'-r\leq r'<b b(rr)0rrr<b
上式只有当r’-r=0时成立

故r’=r,q’=q.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值