《算法概论》第一周作业

来源:互联网 发布:知画和小燕子谁大谁小 编辑:程序博客网 时间:2024/04/29 03:54

1. 申请一个CSDN博客账号

已完成

2. 学长面试/笔试经验请教

已完成

3. 编写程序。

/** exp1.cpp* 用辗转相除法求两个数的最大公约数*/#include <iostream>//Value 比较num1、和num2两个整数的值,其中较大的值保存到biggerNum,较小的值保存到smallerNum void Value(int* biggerNum,int* smallerNum,int num1, int num2){if(num1 < num2){num1 ^= num2;num2 ^= num1;num1 ^= num2;//用三次异或操作交换 biggerNum与smallerNum的数值}*biggerNum = num1;*smallerNum = num2;}int main(){int num1,num2;std::cout<<"请输入两个整数:\n";std::cin>>num1>>num2;Value(&num1, &num2, num1, num2); // 确保num1 >= num2;while(num1 % num2){Value(&num1, &num2, num2, num1 % num2); //比较除数与余数,较大值作为下一轮的被除数,较小值除数。}std::cout<<"最大公约数为"<<num2<<std::endl;return 0;}


4. 《算法概论》思维导图


0 0
原创粉丝点击