算法学习

-------------本文结束感谢您的阅读-------------

基础算法学习

穷举法

递推法

顺推法

斐波那契数列

逆推法

猴子吃桃

迭代算法

递归算法

数制转换算法

1.十进制转二、八、十六进制

(二进制-除2倒取余法)

十进制整数转换为二进制整数采用”除2取余,逆序排列“法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
int main()
{
int m,n,t;
printf("请输入要转换的十进制数;");
scanf("%d",&m);
t=1;
n=m; //存m,如n=53
while(m)
{
t=t*2;
m=m/2;
} //求t,转换
t=t/2;
while(t)
{
printf("%d",n/t);
n=n%t;
t=t/2;
} //利用t,n求值
return 0;
}
2.二转十
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
int main()
{
char b;
int d;
printf("请输入要转换的二进制数:");
d=0;
scanf("%c",&b);
while(b!='\n')
{
d=d*2+(b-48);
scanf("%c",&b);
}
printf("%d\n",d);
return 0;
}

数学问题

1.最值问题

2.数列求和(积)

3.整数数字问题

4.整数因子问题

5.最大公约数最小公倍数问题

6.素数问题

7.解非线性方程

(1)牛顿迭代法
(2)二分法
坚持原创技术分享,您的支持将鼓励我继续创作!