算法:从键盘循环输入一个整数,判断是否是素数\质数

简介: 算法:从键盘循环输入一个整数,判断是否是素数\质数

程序分析:


1、质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。


2、nn能被mm整除,则m≤n2m≤n2,所以只需要穷举m∈[2,n2]m∈[2,n2]即可,若在穷举过程中出现了nn的情况则n是质数,若mm能自加到m=n2m=n2则n不是质数。


#include "stdio.h"
int main(void)
{
    int n = 0;
    while (1)
    {
        printf("请输入一个数(质数是大于1的自然数):");
        scanf_s("%d", &n);
        if (n == 2 || n == 3)
            printf("%d是质数!\n", n);
        for (int m = 2; m <= n / 2; m++)
        {
            if (n%m == 0)
            {
                printf("%d不是质数!\n", n);
                break;
            }
            if(m == n/2)
                printf("%d是质数!\n", n);
        }
    }
    return 0;
}
目录
打赏
0
0
0
0
5
分享
相关文章
|
10月前
|
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
90 0
第一周算法设计与分析:C : 200和整数对之间的情缘
这篇文章介绍了解决算法问题"200和整数对之间的情缘"的方法,通过统计数组中每个数模200的余数,并计算每个同余类中数的组合数来找出所有满足条件的整数对(i, j),使得\( A_i - A_j \)是200的整数倍。
算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环
这篇内容介绍了编程中避免使用 for 循环的一些方法,特别是针对 Python 语言。它强调了 for 循环在处理大数据或复杂逻辑时可能导致的性能、可读性和复杂度问题。
73 6
算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环
|
8月前
|
【算法】二分查找(整数二分和浮点数二分)
算法学习——二分查找(整数二分和浮点数二分)
72 0
【算法】二分查找(整数二分和浮点数二分)
|
7月前
|
【算法】递归总结:循环与递归的区别?递归与深搜的关系?
【算法】递归总结:循环与递归的区别?递归与深搜的关系?
160 0
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
59 0
RSA算法中,为什么需要的是两个素数?
PrimiHub是密码学专家团队开发的开源隐私计算平台,关注数据安全、密码学等领域。RSA算法使用两个素数确保安全,因为它们的乘积易于计算,但分解困难,形成加密基础。算法涉及选择大素数、计算乘积、生成公私钥对。加密时,消息通过公钥变形;解密则需私钥,安全性依赖于大数分解问题的复杂性。
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
|
9月前
|
数据结构和算法学习记录——时间复杂度的计算(嵌套循环、大O的渐进表示法、双重循环、常数循环、strchr、冒泡排序、二分查找、斐波那契数列递归)
数据结构和算法学习记录——时间复杂度的计算(嵌套循环、大O的渐进表示法、双重循环、常数循环、strchr、冒泡排序、二分查找、斐波那契数列递归)
574 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等