CINTA作业一:加减乘除
发布日期:2022-03-08 21:50:34 浏览次数:3 分类:技术文章

本文共 1041 字,大约阅读时间需要 3 分钟。

一、整数与二进制

在这里插入图片描述

1.证明命题1.1

在这里插入图片描述

证明:

① 如果a | b,b | c,则存在唯一整数m,n,
使得 b = m a,c =n b 。
则可以得到 c = nb = mna,
由于m,n是整数,所以a整除c,则 a | c 成立。

②如果 c | a,c | b,则存在唯一整数p,q,

使得a = p c,b = q c
则可以得到 m a + n b = mpc + nqc = (mp + nq) c,
又因为m,p,q,都是整数,所以 c |(m a + n b) 成立。

2.证明定理1.1 除法算法

在这里插入图片描述

证明:

证明两个方面,充分性必要性

充分性:

构造集合
S={a-bk; k∈Z 且 a-bk ≥ 0};
显然,集合S非空。由良序原则,存在一个最小元
r ∈ S,且 r = a - qb
因此,a = qb + r,r ≥ 0

显然,集合中必定存在一个k1,使得 r = a - bk 1 ≥ 0,且a-b(k1+1)<0,则有a-bk1<b

即 r < b
综上所述,0 ≤ r < b

必要性:

 假设 q 和 r 不唯一,则有 a = q1 b + r 1和a = q 2 b + r2( 0 ≤ r 1< b,0 ≤ r2 < b)
  两式相减得,r2 - r1 = b ( q1 - q2 )
  ∵ q != 0
  ∴ b能整除r2 - r1
  又 ∵ 0 ≤ r1 < b,0 ≤ r 2< b
∴ - b < r 2-r1 < b
  ∴ r 2-r1 = 0
  即 r2=r1.
  则由题设 a = q1 b + r 1,a = q 2 b + r2
  可得q1=q2
​ 因此原命题不成立
  则可认为 q 和 r 是唯一的

3.简单乘法(迭代法)

#include 
int multiply(int a, int b);int main(){
int a,b; printf("请输入两个整数a和b:\n"); scanf("%d %d",&a,&b); printf("a*b=%d\n",multiply(a,b)); return 0;}int multiply(int a, int b){
int k=1,mul=0; while(b!=0) {
if(b%2==1) mul+=a*k; b=b/2; k*=2; } return mul;}

转载地址:https://blog.csdn.net/m0_55443969/article/details/120469570 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:菜鸟学前端第一天
下一篇:CINTA作业二:GCD与EGCD

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月01日 10时04分01秒