C语言经典算法实践:斐波那契数列与质数判断
需积分: 9 104 浏览量
更新于2024-10-23
收藏 22KB TXT 举报
"C语言经典算法100例"
在C语言编程中,算法是解决问题的核心。本资源包含了一些C语言中最经典的算法实现代码,旨在帮助程序员理解和掌握基础及进阶的算法技巧。以下是对其中几个例子的详细解释:
1. 斐波那契数列
斐波那契数列是一个序列,其中每个数字是前两个数字的和。描述中的"1,1,2,3,5,8,13,21"就是斐波那契数列的一部分。下面的代码用于打印斐波那契数列的前20个数字:
```c
main()
{
long f1, f2;
int i;
f1 = f2 = 1;
for (i = 1; i <= 20; i++)
{
printf("%12ld%12ld", f1, f2);
if (i % 2 == 0) printf("\n"); // 换行处理
f1 = f1 + f2; // 更新f1
f2 = f1 + f2; // 更新f2
}
}
```
2. 寻找素数
这段代码用于寻找101到200之间的素数,即只有1和其本身两个正因数的自然数。`sqrt()`函数用于计算平方根,以减少计算量:
```c
#include <math.h>
main()
{
int m, i, k, h = 0, leap = 1;
printf("\n");
for (m = 101; m <= 200; m++)
{
k = sqrt(m + 1);
for (i = 2; i <= k; i++)
if (m % i == 0)
{
leap = 0;
break;
}
if (leap)
{
printf("%-4d", m); h++;
if (h % 10 == 0)
printf("\n");
}
leap = 1;
}
printf("\nThe total is %d", h);
}
```
3. 水仙花数
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面的代码用于查找100到999之间的所有水仙花数:
```c
main()
{
int i, j, k, n;
printf("'waterflower' number is:");
for (i = 100; i < 1000; i++)
{
n = i;
j = i / 100;
k = (i % 100) / 10;
if (i == j * j * j + k * k * k + (i % 10) * (i % 10) * (i % 10))
printf("%d ", i);
}
}
```
这些代码示例覆盖了基本的数学运算、循环控制、条件判断以及数组和函数的概念,是学习C语言算法的宝贵资源。通过理解和实践这些代码,开发者可以提升对算法的理解,进而解决更复杂的问题。
2010-09-16 上传
2009-09-13 上传
2024-12-27 上传
2024-12-27 上传
2024-12-27 上传
2024-12-27 上传
2024-12-27 上传
cff112952792
- 粉丝: 0
- 资源: 6
最新资源
- 情感分类器
- MemoryTest.rar_数值算法/人工智能_Visual_C++_
- sketch-data-super-heroes::male_sign::male_sign:此存储库包含适用于Sketch设计师的超级数据集
- 人工智能五子棋.zip
- HotApplet-开源
- matlab心线代码-ECG-electrocardiogram:这是使用PIC18F4550微处理器创建的ECG
- Codeflix
- tv-shows-nextjs:电视节目与Next.js一起使用
- 小白简约浏览器界面.zip
- led-matrix-art:PIXEL控制台应用程序的更好的Web界面
- ADEL-WEB
- TicketKit是一个可以轻松创建票证或优惠券的框架-Swift开发
- 人工智能社会保险反欺诈分析-rank26.zip
- center.rar_教育系统应用_Visual_C++_
- Elenco-crx插件
- admissionClassification