第二次作业

#include<iostream>
using namespace std;
int gcd(int a,int b)//迭代法实现gcd
{while(a%b){int k;if(a%b!=0){k=b;b=a%b;a=k;}}return b;
}
int main()
{int a,b;cin>>a>>b;cout<<"gcd(a,b)="<<gcd(a,b)<<endl;return 0;
}

二进制gcd:

#include<iostream>
using namespace std;
int gcd(int a,int b)//二进制gcd
{int i,j;if(a==0){return b;}if(b==0){return a;}for(i=0;0==(a&1);++i){a>>=1;}for(j=0;0==(b&1);++j){b>>=1;}if(i>j)i=j;while(1){if(a<b){a^=b;b^=a;a^=b;}if(0==(a-=b))return b<<i;while(0==(a&1))a >>= 1;}
}
int main()
{int a,b;cin>>a>>b;cout<<"gcd(a,b)="<<gcd(a,b)<<endl;return 0;
}

egcd

#include<iostream>
using namespace std;
int *egcd(int a, int b,int r0 =1,int s0 =0,int r1= 0,int s1 = 1)//egcd
{int *result=new int[3];result[0]=a;result[1]=r0;result[2]=s0;if(b==0)return result;int q=a/b;return egcd(b,a%b,r1,s1,r0-q*r1,s0-q*s1);
}int _tmain(int argc, _TCHAR* argv[])
{int a,b;cin>>a>>b;int *result=egcd(a,b);cout<<result[0]<<endl;return 0;
}

begcd

#include<stdio.h>
#include<stdlib.h>
void swap(int* a,int* b)
{int tmp=*a;*a=*b;*b=tmp;
}
int* begcd(int a,int b)
{int r=a;int _r=b;int k=0;while(!(r&1)&&!(_r&1)){r>>=1;_r>>=1;k++;}int _a=r;int _b=_r;int x=1;int y=0;int _x=0;int _y=1;while(_r){while(!(r&1)){r>>=1;if(!(x&1)&&!(y&1)){x>>=1;y>>=1;}else{x=(x+_b)>>1;y=(y-_a)>>1;}}while(!(_r&1)){_r>>=1;if((_x&_y)&1){_x>>=1;_y>>=1;}else{_x=(_x+_b)>>1;_y=(_y-_a)>>1;}}if(_r<r){swap(&r,&_r);swap(&x,&_x);swap(&y,&_y);}_r-=r;_x-=x;_y-=y;}int *res=(int*)malloc(sizeof(int)*3);res[0]=x;res[1]=y;res[2]=(r<<k);return res;
}
int main()
{int a,b;scanf("%d%d",&a,&b);int *tmp=begcd(a,b);printf("%d*%d+%d*%d=%d\n",a,tmp[0],b,tmp[1],tmp[2]);free(tmp);return 0;
}

20192132055 李欣桐第二次作业相关推荐

  1. 20192132055 李欣桐 第三次作业

    乘法逆元 #include<iostream> using namespace std; int mutiply_inverse(int a,int b,int &x,int &a ...

  2. 丁贵才130702010042第二次作业

    第二次作业 2.9 设有如下语句,请用相应的谓词公式分别把它们表示出来: (1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花有喜欢梅花. 解:定义谓词 P(x):x是人 L(x,y):x喜欢y y ...

  3. 20189317 《网络攻防技术》 第二周作业

    一.黑客信息 (1)国外黑客 1971年,卡普尔从耶鲁大学毕业.在校期间,他专修心理学.语言学以及计算机学科.也就是在这时他开始对计算机萌生兴趣.他继续到研究生院深造.20世纪60年代,退学是许多人的 ...

  4. mysql 三阶多项式拟合_2014年9月份考试机械CAD_CAM第二次作业

    2014年9月份考试机械CAD/CAM第二次作业 一.单项选择题(本大题共40分,共 20 小题,每小题 2 分) 1. 在CAD作业中,采用数据文件形式来处理工程数表.线图数据,其目的是() A. ...

  5. 2021年春季学期-信号与系统-第二次作业参考答案-第十小题

    本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第十题 10 从网络学堂下载代表两个信号的音频文件: 音频文件: f1(t)f_1 \left( t \right)f1​( ...

  6. 2021年春季学期-信号与系统-第二次作业参考答案-第九小题

    本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第九题 9. 已知三个系统的输入输出关系分别为: 把上述三个子系统进行如下的级联,求系统的输入输出关系,它是线性.时不变系统 ...

  7. 2021年春季学期-信号与系统-第二次作业参考答案-第八小题

    本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第八题 8. 判断下列系统是否为线性.时不变.因果? (1)第一小题 r(t)=ddte(t)r\left( t \righ ...

  8. 2021年春季学期-信号与系统-第二次作业参考答案-第七小题

    本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第七题 7. 判断下列系统是否可逆.若可逆,给出它的逆系统:若不可逆,指出使该系统产生相同输出的两个输入信号. 判断系统是否 ...

  9. 2021年春季学期-信号与系统-第二次作业参考答案-第六小题

    本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第六题 6. 有一线性时不变系统, 当激励e1(t)=u(t)e_1 \left( t \right) = u\left( ...

最新文章

  1. SAP RETAIL 如何查看分配表是参考哪个PO来创建的?
  2. Spring @CrossOrigin 通配符 解决跨域问题
  3. 《可爱的Python》读书笔记(五)
  4. 头部数据人才24小时图鉴
  5. XML 新手最佳入门教程
  6. Android服务的通信方式,android客户端与服务器通信的HTTP通信
  7. 使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?
  8. tensorflow精进之路(十七)——python3网络爬虫(上)
  9. 白话之jsonp跨域原理分析
  10. apache2 html文件夹,需要与我的Apache2网站配置文件
  11. 向股票,外汇,期货投资者推荐的好书
  12. java编程基本基本框架_盘点Java编程中常用的框架
  13. python在地图上标注点_只要两步,用Python将地址标记在地图上!
  14. 跑跑飞弹室外跑步AR游戏代码方案设计
  15. 参加最牛逼的运营人年终聚会,是种什么样的体验
  16. Android今日头条的适配
  17. WPS在引用中制作目录
  18. Red and Black 模板题 /// BFS oj22063
  19. CAD中光栅图像参照设置透明和非透明打印成PDF的效果对比
  20. .NET高级软件工程师的面试题目

热门文章

  1. 设计模式(3)----- 简单工厂模式
  2. 使用 PetaLinux 自定义 ZynqMP 平台
  3. idea 配置web项目图片无法显示问题
  4. 一行代码实现验证码--Happy Captcha
  5. 解决tar (child): gzip: Cannot exec: Too many levels of symbolic links
  6. java怎么写桌面日历_基于java的桌面日历系统的设计与实现毕业设计论文最终版.doc...
  7. Liunx常用命令速查
  8. 职场修炼--你开口说话的境界在第几层?
  9. Mac 下编译 libmono.so 和 DLL 加密详解
  10. 国家、省、市三级联动下拉列表