C语言经典例题 --- 公因数、素数、闰年

文章目录

如何用代码实现求两个值之间的最大公因数呢?

代码如下:

c 复制代码
#include <stdio.h>
int main()
{
    int m = 0;
    int n = 0;
    int min = 0;
    scanf("%d%d", &m, &n);
    if (m < n)
        min = m;
    else
        min = n;
    while (1)
    {
        if (m % min == 0 && n % min == 0)
            break;
        else
            min--;
    }
    printf("最大公因数为%d", min);
    return 0;
}

//辗转相除法
#include <stdio.h>

int main()
{
	int m = 0;
	int n = 0;
	int min = 0;
	int temp = 0;
	scanf("%d%d", &m, &n);
	while (1)
	{
		if (m < n)
		{
			temp = m;
			m = n;
			n = temp;
		}
		if (m % n == 0)
		{
			printf("最大公因数为:%d", n);
			break;
		}
		else
		{
			min = m % n;
			m = n;
			n = min;
		}
	}
	return 0;
}
如何计算闰年?

代码如下:

c 复制代码
//假如我们要打印1000年-2000年之间的闰年
//闰年:1.能被4整除,不能被100整除 2.能被400整除
#include <stdio.h>
int main()
{
    int year = 0;
    for (year = 1000; year <= 2000; year++)
    {
        if (year % 4 == 0 && year % 100 != 0)
        {
            printf("%d ", year);
        }
        else if (year % 400 == 0)
        {
            printf("%d ", year);
        }
        else
            continue;
    }
    return 0;
}
如何用代码实现判断一个数是否为素数

代码如下:

c 复制代码
//假如我们这边要判断100-200之间的素数,然后打印出来
#include <stdio.h>
int main()
{
    int i = 0;
    int j = 0;
    for (i = 100; i <= 200; i++)
    {
        for (j = 2; j < i; j++)
        {
            if (i % j == 0)
                break;
        }
        if (i == j)
        {
            printf("%d ", i);
        }
    }
    return 0;
}

//优化版
#include <stdio.h>
#include <math.h> sqrt开平方函数,使用时需引用math.h头文件
int main()
{
    int i = 0;
    int j = 0;
    for (i = 101; i <= 200; i+=2)
    {
             int sign = 1; //假设i为素数
             for (j = 2; j <= sqrt(i); j++) 
        {
            if (i % j == 0)
                sign = 0;
                break;
        }
        if (sign == 1)
            printf("%d ", i);
    }
    return 0;
}
相关推荐
Abona18 分钟前
C语言嵌入式全栈Demo
linux·c语言·面试
吴维炜1 小时前
「Python算法」计费引擎系统SKILL.md
python·算法·agent·skill.md·vb coding
No0d1es2 小时前
电子学会青少年软件编程(C语言)等级考试试卷(三级)2025年12月
c语言·c++·青少年编程·电子学会·三级
Σίσυφος19002 小时前
PCL Point-to-Point ICP详解
人工智能·算法
you-_ling2 小时前
数据结构:4.二叉树
数据结构
bjxiaxueliang3 小时前
一文掌握C/C++命名规范:风格、规则与实践详解
c语言·开发语言·c++
玄〤3 小时前
Java 大数据量输入输出优化方案详解:从 Scanner 到手写快读(含漫画解析)
java·开发语言·笔记·算法
weixin_395448913 小时前
main.c_cursor_0202
前端·网络·算法
senijusene3 小时前
数据结构与算法:队列与树形结构详细总结
开发语言·数据结构·算法
青桔柠薯片3 小时前
数据结构:队列,二叉树
数据结构