C++期末简单算法回忆与整理
VC++期末考试编程题算法整理
[TOC]
一、求最大公约数
1.辗转相除法(又名欧几里德法)
1 | int t; //整形零时变量 |
2.穷举法(也称枚举法)
1 | int t; |
二、求最小公倍数
最小公倍数=两整数的乘积/最大公约数
三个整数可以用for枚举(前提是知道大小,按顺序排列)
1 | for(int i=a*b*c;i>=a;i--) //假定大小顺序a<b<c,倒序遍历公倍数 |
三、冒泡排序
1 | for (i = 0; i < n-1; ++i) //比较n-1轮(n是数组总个数) |
四、循环剥数
1 | while(k) |
五、迭代求根
(1)选一个方程的近似根,赋给变量x0。
(2)将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0。
(3)当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。
若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根。
上述算法用C++程序的形式表示为:
1 | x0=初始近似根; |
六、素数判断
1 | for(i=2;i<x/2;i++) |
七、闰年判断(冷门)
1 | if(((n%4==0)&&(n%100!=0))||(n%400==0)); |
八、数制转换
1 | char x[16] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; //十进制与十六进制对应的数组 |
出品:
电光3301班
赵婧萱
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 STARBO's BLOG!
评论