c - 在c中生成随机素数的程序?
问题描述
#include<stdio.h>
#include<stdlib.h>
int is_prime(int num)
{
if (num <= 1) return num;
if (num % 2 == 0 && num > 2) return num;
for(int i = 3; i < num / 2; i+= 2)
{
if (num % i == 0)
return num;
}
return 0;
}
void main()
{
while(1)
{
int r = rand();
if(r==is_prime(r))
{
printf("The number is %d",r);
break;
}
}
}
我试过这段代码来生成一个随机素数。但它每次都给出相同的数字,而且这个数字不是素数。这个程序有什么错误?
解决方案
推荐阅读
- typoscript - TYPO3 Dynamic Localized Label in TypoScript
- javascript - 使用 jquery 根据“父”ID 选择“子”
- docker - 从码头看不到本地蚊子
- sql - I get syntax error when I want to reset primary key of sqlite table
- flutter - SliverAppBar without fading in the AppBar
- date - 如何将 Google Chart 网格线与我的数据点对齐?
- python - VirtualEnv Module not found when creating env
- python - 在函数中使用附加到 pygame.sprite 类的属性时遇到问题
- swagger - How to tell OpenAPI to use context-root of application in it's URL
- php - PHP 使用另一个文件中 header.php 中定义的变量