首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果给定的数字是质数,则输出YES,如果不是C语言,则输出NO的代码

以下是一个判断给定数字是否为质数的C语言代码:

代码语言:txt
复制
#include <stdio.h>

int isPrime(int num) {
    if (num <= 1) {
        return 0;
    }
    for (int i = 2; i * i <= num; i++) {
        if (num % i == 0) {
            return 0;
        }
    }
    return 1;
}

int main() {
    int num;
    printf("请输入一个数字:");
    scanf("%d", &num);
    
    if (isPrime(num)) {
        printf("YES\n");
    } else {
        printf("NO\n");
    }
    
    return 0;
}

这段代码中,我们定义了一个isPrime函数来判断给定的数字是否为质数。如果数字小于等于1,则直接返回0,表示不是质数。然后我们使用一个循环从2开始遍历到该数字的平方根,如果存在能整除该数字的因子,则返回0,表示不是质数。最后,如果循环结束后仍然没有找到能整除该数字的因子,则返回1,表示是质数。

main函数中,我们首先接收用户输入的数字,然后调用isPrime函数进行判断。如果返回值为1,则输出"YES",表示是质数;如果返回值为0,则输出"NO",表示不是质数。

请注意,这段代码只是一个简单的示例,可能存在一些性能上的优化空间。如果需要更高效的质数判断算法,可以参考相关的数学算法和优化技巧。

关于C语言的更多信息,您可以参考腾讯云的C语言开发文档:C语言开发

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

4. 基础数学初识

输出格式 共 n 行,其中第 i 行输出第 i 个正整数 ai 是否为质数输出 Yes,否则输出 No。...如果给定线性方程组存在无数解,输出 Infinite group solutions。 如果给定线性方程组无解,输出 No solution。...输出格式 如果给定线性方程组存在唯一解,输出共 n 行,其中第 i 行输出第 i 个未知数解。 如果给定线性方程组存在多组解,输出 Multiple sets of solutions。...如果给定线性方程组无解,输出 No solution。...问如果两人都采用最优策略,先手是否必胜。 输入格式 第一行包含整数 n。 第二行包含 n 个数字,其中第 i 个数字表示第 i 堆石子数量。 输出格式 如果先手方必胜,输出 Yes

89210

4. 基础数学初识

输出格式 共 n 行,其中第 i 行输出第 i 个正整数 ai 是否为质数输出 Yes,否则输出 No。...如果给定线性方程组存在无数解,输出 Infinite group solutions。 如果给定线性方程组无解,输出 No solution。...输出格式 如果给定线性方程组存在唯一解,输出共 n 行,其中第 i 行输出第 i 个未知数解。 如果给定线性方程组存在多组解,输出 Multiple sets of solutions。...如果给定线性方程组无解,输出 No solution。...问如果两人都采用最优策略,先手是否必胜。 输入格式 第一行包含整数 n。 第二行包含 n 个数字,其中第 i 个数字表示第 i 堆石子数量。 输出格式 如果先手方必胜,输出 Yes

52030

判断一个数是不是素数几种方法,不断优化!!! 素数判定 HDU - 2012

方法1:遍历小于该数全部数据 bool prime(int c) { if(c<=3) { return c>1;//1既不是素数,也不是合数 } for...return true; } 方法3: 其实质数还有一个特点,就是它总是等于 6x-1 或者 6x+1,其中 x 大于等于1自然数。...首先 6x 肯定不是质数,因为它能被 6 整除;其次 6x+2 肯定也不是质数,因为它还能被2整除;依次类推,6x+3 肯定能被 3 整除;6x+4 肯定能被 2 整除。...那么,就只有 6x+1 和 6x+5 (即等同于6x-1) 可能质数了。所以循环步长可以设为 6,然后每次只判断 6 两侧数即可。...Output 对于每个给定范围内取值,如果表达式值都为素数,输出"OK",否则请输出“Sorry”,每组输出占一行。

1K20

十连发,Leetcode算法题分享(哈希表)

] 解法1(暴力解法) 嵌套循环,比较两个数组中元素,如果nums1[i] == nums2[j]的话,表示两个数组中都有的数字添加到HashSet(去重),最后再把HashSet转换成数组输出...字符串中第一个唯一字符 题目: 给定一个字符串,找到它第一个不重复字符,并返回它索引。如果不存在,返回 -1。...存在重复元素 题目: 给定一个整数数组,判断是否存在重复元素。 如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,返回 false 。...示例2: 输入:n = 0 输出:0 示例3: 输入:n = 1 输出:0 解法1(暴力法) 其实这是一个很经典数学问题,比如要判断223是不是质数,最粗暴方法就是,223对(2到222)进行取余...++) { if (num % i == 0) { return false; } } //如果余数都不为0质数 return

75020

Python练习题

请按照a值,从小到大依次输出。当两个完美立方 等式中a值相同,b值小优先输出,仍相同c值小优先输出,再相同d值小输出。...如果输入超出范围x输出“ERROR” 。   ...普通年(不能被100整除年份)能被4整除为闰年。(如2004年就是闰年,1999年不是闰年);   世纪年(能被100整除年份)能被400整除闰年。...(如2000年闰年,1900年不是闰年);   用户输入一个正整数,代表年份,输出该年有多少天?   ...请写一个程序完成验证码匹配验证,假设当前显示验证码'Qs2X'。   如果用户输入验证码正确,输出“验证码正确”,输入错误时输出“验证码错误,请重新输入”。

1.5K10

Python入门之循环控制

{ } 3) 如果出现死循环,Ctrl+C 快捷键终止 4)在Python中没有do..while循环 输出: 5 4 3 2 1 无限循环 while True : 如在循环输入时使用 # coding...:utf-8 while True: num = int(input("请输入一个数字 :")) print("你输入数字:", num) 请输入一个数字 :2 你输入数字: 2...如果你从 for 或 while 循环中终止,任何对应循环 else 块将不执行。 (2)continue语句跳过当前循环块中剩余语句,然后继续进行下一轮循环。...') 输出: 5 质数 6 = 2 * 3 7 质数 8 = 2 * 4 9 = 3 * 3 如果不小心把else位置多了个Tab,虽然代码完全一下,只是多了Tab,那就凉了: a = 5 b =...') 输出: 5 质数 5 质数 5 质数 6 = 2 * 3 7 质数 7 质数 7 质数 7 质数 7 质数 8 = 2 * 4 9 质数 9 = 3 * 3 pass 语句 pass

9210

LeetCode刷题记录

,不过 C++ map 中 find 和 count 方法针对都是 key ,并不是 value,因此如果我们想要知道索引号的话就得将索引和数据反过来存进 map 中 class Solution...如果不存在符合条件连续子数组,返回 0。 示例: 输入:s = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 该条件下长度最小连续子数组。...计数质数 统计所有小于非负整数 n 质数数量。 示例: 输入: 10 输出: 4 解释: 小于 10 质数一共有 4 个, 它们 2, 3, 5, 7 。...吗,这题就是计算质数个数啊,大一 C 语言经典考题,但是我第一遍竟然没写出来……,然后说一下,暴力法不行……会超时,所以可以优化一下暴力法,比如 2 倍数不可能质数之类。...当然,还有一种解题思路就是将当前数字倍数全都除掉,然后最后剩下就是质数,这个牛逼!

36120

C++011-C++循环+枚举

: 题目描述 质数判定 题目描述 如果一个数n,除了1和他本身,没有其他因数,这个数就是质数 方法一:枚举所有可能n因数数,统计有多少个因数,如果只有两个,那么这个数质数,否则不是。...方法二:枚举2到n-1之间自然数,如果存在n因数,那么这个数可定不是质数如果不存在n因数,那么这个数质数 那么我们怎么“定范围”?——按照方法一的话,范围就是1到这个数本身。...怎么列成员——列举所有的自然数 怎么选类型——判断是否能整除给定数字 怎么算答案——找到一个整除统计因数增加一次,最后看有多少个因数。如果只有2个,那就是质数,否则是合数。...*b+c*c*c==i) cout<<i<<endl; } return 0; } 输出入下: 题目描述 7744问题 题目描述 列出所有满足下列条件数字 1.四位数...2.完全平方数 3.前2位数字相同,后2位数字也相同 输入 无 输出 每行一个符合条件数字 样例输入 无 样例输出 7744 … 实现方法1 定范围:所有的四位数 1000-9999

29640

算法02-入门算法枚举与模拟算法

: 题目描述 质数判定 题目描述 如果一个数n,除了1和他本身,没有其他因数,这个数就是质数 方法一:枚举所有可能n因数数,统计有多少个因数,如果只有两个,那么这个数质数,否则不是。...方法二:枚举2到n-1之间自然数,如果存在n因数,那么这个数可定不是质数如果不存在n因数,那么这个数质数 那么我们怎么“定范围”?——按照方法一的话,范围就是1到这个数本身。...怎么列成员——列举所有的自然数 怎么选类型——判断是否能整除给定数字 怎么算答案——找到一个整除统计因数增加一次,最后看有多少个因数。如果只有2个,那就是质数,否则是合数。...break; } } if(flag==1) cout<<"质数"; else cout<<"不是质数"; return 0; } 质数判定进一步优化...最后对数组元素进行判断,找出0元素,就行数组元素下标的输出输出时要注意问题用逗号隔开不同于用空格隔开。如果放在数据后面输出,那么最后一个数据后不应有逗号。这样不方便判断。

33410

洛谷P3383 【模板】线性筛素数(Miller_Rabin)

题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N、M,分别表示查询范围和查询个数。...接下来M行每行包含一个不小于1且不大于N整数,即询问该数是否为质数输出格式: 输出包含M行,每行为Yes或No,即依次为每一个询问结果。...输入输出样例 输入样例#1: 100 5 2 3 4 91 97 输出样例#1:  Yes Yes No No Yes 说明 时空限制:500ms 128M 数据规模: 对于30%数据:N<=10000...所以2、3、97为质数,4、91非质数。 故依次输出YesYes、No、No、Yes。...EOF:*p1++; } inline LL read() { char c=nc();LL x=0,f=1; while(c'9'){if(c=='-')f=-1;c=

84550

算法02-入门算法枚举与模拟算法

: 题目描述 质数判定 题目描述 如果一个数n,除了1和他本身,没有其他因数,这个数就是质数 方法一:枚举所有可能n因数数,统计有多少个因数,如果只有两个,那么这个数质数,否则不是。...方法二:枚举2到n-1之间自然数,如果存在n因数,那么这个数可定不是质数如果不存在n因数,那么这个数质数 那么我们怎么“定范围”?——按照方法一的话,范围就是1到这个数本身。...怎么列成员——列举所有的自然数 怎么选类型——判断是否能整除给定数字 怎么算答案——找到一个整除统计因数增加一次,最后看有多少个因数。如果只有2个,那就是质数,否则是合数。...break; } } if(flag==1) cout<<"质数"; else cout<<"不是质数"; return 0; } 质数判定进一步优化...最后对数组元素进行判断,找出0元素,就行数组元素下标的输出输出时要注意问题用逗号隔开不同于用空格隔开。如果放在数据后面输出,那么最后一个数据后不应有逗号。这样不方便判断。

29410

Day1上午解题报告

现在给定一个数P,LYK想要知道这个数是不是立方数。 当然你有可能随机输出一些莫名其妙东西来骗分,因此LYK有T次询问~ 输入输出格式 输入格式: 第一行一个数T,表示有T组数据。...输出格式: 输出T行,对于每个数如果立方数,输出YES”,否则输出“NO”。...现在给定一个数P,LYK想要知道这个数是不是立方差数。 当然你有可能随机输出一些莫名其妙东西,因此LYK有T次询问~ 这个问题可能太难了…… 因此LYK规定P质数!...输入输出格式 输入格式: 第一行一个数T,表示有T组数据。 接下来T行,每行一个数P。 输出格式: 输出T行,对于每个数如果立方差数,输出YES”,否则输出“NO”。...例如LYK猜[1,3]最小值2,[1,4]最小值3,这显然就是矛盾。 你需要告诉LYK,它第几次猜数字开始就已经矛盾了。

86970

G-Research科技与狠活

列表中每个元素,如果能背3整除输出'Fizz',如果被5整除输出'Buzz',如果能同时被3和5整除,输出'FizzBuzz'。...难度逐渐提升,需要在Q2基础上,识别质数如果质数输出为“Prime”。所以代码中我们需要新增一个判断是否为质数Function。...难度继续增加,在Q3基础上,如果数字Pi前n位字符串一个连续子集,则需要输出pi。题目会给定n和p两个数字,比如n=15,p=3。...可以发现,题目中1, 3, 4, 14都输出为"Pi", 是因为题目给定p=3,也就是说只要是314连续子集,对应位置数字输出为'Pi'。...(如果p=4,只要是3141连续子集,对应位置数字输出为'Pi')。

24020
领券