CINTA 作业01

第一次作业

C语言实现的迭代乘法
int multiply(int a, int b){
	int temp=0;
	for(;b!=0;){
		if(b&1==1){
			temp+=a;
		}
		a<<=1;
		b>>=1;
	}
	return temp;
} 
证明命题1.1

已知 a ,b ,c ∈ Z \in \mathbb{Z} Z :

  • 如果 a ∣ b a|b ab b ∣ c b|c bc,那么一定存在一个整数 k 1 k_{1} k1使得 b = k 1 ∗ a b=k_{1}*a b=k1a,同理,一定存在一个整数 k 2 k_{2} k2使得 c = k 2 ∗ b c=k{2}*b c=k2b,所以, c = k 1 ∗ k 2 ∗ a c=k_{1}*k_{2}*a c=k1k2a,且 k 1 k 2 k_{1}k_{2} k1k2为整数,所以 a ∣ c a|c ac

  • 如果 c ∣ a c|a ca c ∣ b c|b cb,那么一定存在一个整数 k 1 k_{1} k1使得 a = k 1 ∗ c a=k_{1}*c a=k1c,同理,一定存在一个整数 k 2 k_{2} k2使得 b = k 2 ∗ c b=k{2}*c b=k2c,对任意 m, n ∈ Z \in \mathbb{Z} Z,有:
    m a + n b = m ∗ k 1 ∗ c + n ∗ k 2 ∗ c = ( m k 1 + n k 2 ) ∗ c ma+nb = m*k_{1}*c+n*k_{2}*c=(m k_{1}+n k_{2})*c ma+nb=mk1c+nk2c=(mk1+nk2)c

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

定理1.1的证明
  • 假设存在整数对 q 1 q_{1} q1 r 1 r_{1} r1,使得 a = q b + r a=qb+r a=qb+r q 1 ≠ q , r 1 ≠ r q_{1} \neq q, r_{1} \neq r q1=q,r1=r ,构造集合 S 1 = { a − b q : q ∈ Z   且   a − b q ≥ 0 } S_{1}=\{{a-bq:q \in\mathbb{Z}}\ 且 \ a-bq\ge0\} S1={abq:qZ  abq0}

  • 良序原则,存在一个最小元 r ∈ S r \in S rS,且 r = a − b q r=a-bq r=abq,又 r 1 ∈ S r_{1}\in S r1S 并且 r 1 r_{1} r1 ≠ \neq = r,所以 r 1 r_{1} r1 ≥ \ge b+r, 又定理1.1要求满足0 ≤ \leq r 1 r_{1} r1 < b 两者矛盾,因此,不存在整数 q 1 q_{1} q1 ≠ \neq = q, r 1 r_{1} r1 ≠ \neq = r ,使得 a = q b + r a=qb+r a=qb+r ,唯一性得证。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值