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;
}
相关推荐
AIAdvocate18 分钟前
Pandas_数据结构详解
数据结构·python·pandas
jiao0000143 分钟前
数据结构——队列
c语言·数据结构·算法
kaneki_lh1 小时前
数据结构 - 栈
数据结构
铁匠匠匠1 小时前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
C-SDN花园GGbond1 小时前
【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)
c语言·开发语言·数据结构·排序算法
迷迭所归处2 小时前
C++ —— 关于vector
开发语言·c++·算法
leon6252 小时前
优化算法(一)—遗传算法(Genetic Algorithm)附MATLAB程序
开发语言·算法·matlab
CV工程师小林2 小时前
【算法】BFS 系列之边权为 1 的最短路问题
数据结构·c++·算法·leetcode·宽度优先
Navigator_Z3 小时前
数据结构C //线性表(链表)ADT结构及相关函数
c语言·数据结构·算法·链表
还听珊瑚海吗3 小时前
数据结构—栈和队列
数据结构