acwing——726. 质数

2024-02-28 00:32
文章标签 质数 acwing 726

本文主要是介绍acwing——726. 质数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

726. 质数

一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除则称该数为质数。

例如7就是一个质数,因为它只能被1和7整除。

现在,给定你N个大于1的自然数,请你依次判断这些数是否是质数。

输入格式

第一行包含整数N,表示共有N个测试数据。

接下来N行,每行包含一个自然数X。

输出格式

每个测试用例输出一个结果,每个结果占一行。

如果测试数据是质数,则输出“X is prime”,其中X是测试数据。

如果测试数据不是质数,则输出“X is not prime”,其中X是测试数据。

数据范围

1≤N≤1001≤N≤100,
1<X≤1071<X≤107

输入样例:

3
8
51
7

输出样例:

8 is not prime
51 is not prime
7 is prime

程序代码:

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{int n;cin>>n;while (n--){int x;cin>>x;bool is_prime = true;for (int i=2;i<=sqrt(x);i++)if (x%i==0){is_prime = false;break;}if (is_prime) printf("%d is prime\n",x);else printf("%d is not prime\n",x);}return 0;
}

 

这篇关于acwing——726. 质数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/754000

相关文章

【AcWing】851. 求最短路

spfa算法其实是对贝尔曼福特算法做一个优化。 贝尔曼福特算法会遍历所有边来更新,但是每一次迭代的话我不一定每条边都会更新,SPFA是对这个做优化。 如果说dist[b]在当前这次迭代想变小的话,那么一定是dist[a]变小了,只有a变小了,a的后继(b)才会变小。 用宽搜来做优化,用一个队列,队列里边存的就是所有变小了的结点(队列里存的是待更新的点)。 基本思路就是我更新过谁,我再拿

【AcWing】852. spfa判断负环

#include<iostream>#include<algorithm>#include<cstring>#include<queue>using namespace std;const int N= 1e5+10;int n,m;int h[N],w[N],e[N],ne[N],idx;int dist[N],cnt[N];//cnt存最短路径的边数bool st[N];v

js算法题,给任意一个偶数,找出他的所有的质数因子

/*给任意一个偶数,找出他的所有的质数因子*/ function primeFactor(n){     var factors=[],            divistor=2;     if(typeof n !=='number'||!Number.isInteger(n)){          return 0;     }; //如果不是偶数返回0,如果是0,返回0

算法---计数质数(Java)

题目:计数质数 给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 示例 1: 输入:n = 10 输出:4 解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 示例 2: 输入:n = 0 输出:0 示例 3: 输入:n = 1 输出:0 提示: 0 <= n <= 5 * 106 解决方法:(埃氏筛) 思路: 算法由希腊数学家厄拉多塞(\rm

leetcode 204:计数质数

int countPrimes(int n) {if(n<=0)return 0;int c=0;for(int i=2;i<n;i++){int flag=0;for(int j=2;j<=std::sqrt(i);j++){if(i%j==0){flag=1;break;}}if(flag==0)c++;}return c;}

AcWing 282. 石子合并

必看的视频讲解↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 【E28【模板】区间DP 石子合并——信息学竞赛算法】 合并过程总开销等于红色数字总和,可以理解为花费的总体力! f数组的含义是f【i】【j】是从第i堆石子开始到第j堆石子的花费体力最小值 如何理解三层for呢? 第一层for是控制区间长度len,第二层for是控制区间起点位置i,第三层for是控制区间

AcWing 897. 最长公共子序列

动态规划就是多见识应用题就完事儿了,也没有什么好说的。 讲解参考: 【E05 线性DP 最长公共子序列】 #include<iostream>#include<algorithm>#define N 1010using namespace std;char a[N],b[N];int n,m;int f[N][N];int main(){cin >> n >> m >> a

第九届中国大学生程序设计竞赛(秦皇岛)-(CCPC2023-Qinhuangdao F - 质数之谜(DP)

题意 给定一个序列,修改最少数量的元素使得任意i属于[1,n-1],q[i]+q[i+1]都为质数,输出最小修改次数 思路 首先手玩的过程中可以发现,     如果因为前面一个数字和自己相加不是质数然后我把自己变成了奇数,那么如果我后面一个数字是偶数     可以发现自己肯定能找到另一个奇数使得和前面相加互质并且和后面相加也互质     举个例子:假设为2 8 10,我此时是8,我发现2+

力扣刷题--762. 二进制表示中质数个计算置位【简单】

题目描述🍗 给你两个整数 left 和 right ,在闭区间 [left, right] 范围内,统计并返回 计算置位位数为质数 的整数个数。 计算置位位数 就是二进制表示中 1 的个数。 例如, 21 的二进制表示 10101 有 3 个计算置位。 示例 1: 输入:left = 6, right = 10 输出:4 解释: 6 -> 110 (2 个计算置位,2 是质数) 7

AcWing 2. 01背包问题

一定要看的视频讲解:↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 【E08【模板】背包DP 01背包——信息学竞赛算法】 i表示放入i个物品,j表示第j个物品,用于访问体积v【j】 #include <iostream>#include <algorithm>using namespace std;const int N = 1010;int n, m;int v[N]