C程序在数组中找到最小和最大的质数
问题陈述
给定一个包含 n 个正整数的数组。我们必须找到素数 具有最小值和最大值的数字。
如果给定的数组是 -
arr [] = {10, 4, 1, 12, 13, 7, 6, 2, 27, 33} then minimum prime number is 2 and maximum prime number is 13
算法
1. Find maximum number from given number. Let us call it maxNumber 2. Generate prime numbers from 1 to maxNumber and store them in a dynamic array 3. Iterate input array and use dynamic array to find prime number with minimum and maximum value
Example
的中文翻译为:示例
#include <iostream> #include <vector> #include <climit> #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) using namespace std; void printMinAndMaxPrimes(int *arr, int n){ int maxNumber = *max_element(arr, arr + n); vector<bool> primes(maxNumber + 1, true); primes[0] = primes[1] = false; for (int p = 2; p * p <= maxNumber; ++i) { if (primes[p]) { for (int i = p * 2; i <= maxNumber; i += p) { primes[p] = false; } } } int minPrime = INT_MAX; int maxPrime = INT_MIN; for (int i = 0; i < n; ++i) { if (primes[arr[i]]) { minPrime = min(minPrime, arr[i]); maxPrime = max(maxPrime, arr[i]); } } cout << "Prime number of min value = " << minPrime << "</p><p>"; cout << "Prime number of max value = " << maxPrime << "</p><p>"; } int main(){ int arr [] = {10, 4, 1, 12, 13, 7, 6, 2, 27, 33}; printMinAndMaxPrimes(arr, SIZE(arr)); return 0; }
输出
当您编译并执行上述程序时,它会生成以下输出 −
Prime number of min value = 2 Prime number of max value = 13
以上是C程序在数组中找到最小和最大的质数的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

prime 是 C++ 中的关键字,表示质数类型,只能被 1 和本身整除,用作布尔类型指示给定值是否为质数,为质数则为 true,否则为 false。

使用foreach循环去除PHP数组中重复元素的方法如下:遍历数组,若元素已存在且当前位置不是第一个出现的位置,则删除它。举例而言,若数据库查询结果存在重复记录,可使用此方法去除,得到不含重复记录的结果。

PHP中深度复制数组的方法包括:使用json_decode和json_encode进行JSON编码和解码。使用array_map和clone进行深度复制键和值的副本。使用serialize和unserialize进行序列化和反序列化。

PHP数组键值翻转方法性能对比表明:array_flip()函数在大型数组(超过100万个元素)下比for循环性能更优,耗时更短。手动翻转键值的for循环方法耗时相对较长。

在 C++ 中,prime 指质数,即大于 1 且只能被 1 和它本身整除的自然数。质数在密码学、数学问题和算法中应用广泛。生成质数的方法包括厄拉多塞筛法、费马小定理和米勒-拉宾检验。C++ 标准库中提供 isPrime 函数判断是否是质数,nextPrime 函数返回大于给定值的最小质数,prevPrime 函数返回小于给定值的最小质数。

PHP的array_group_by函数可根据键或闭包函数对数组中的元素分组,返回一个关联数组,其中键是组名,值是属于该组的元素数组。

在PHP中执行数组深度复制的最佳实践是:使用json_decode(json_encode($arr))将数组转换为JSON字符串,然后再将其转换回数组。使用unserialize(serialize($arr))将数组序列化为字符串,然后将其反序列化为新数组。使用RecursiveIteratorIterator迭代器对多维数组进行递归遍历。

多维数组排序可分为单列排序和嵌套排序。单列排序可使用array_multisort()函数按列排序;嵌套排序需要递归函数遍历数组并排序。实战案例包括按产品名称排序和按销售量和价格复合排序。
