69,371
社区成员
发帖
与我相关
我的任务
分享
//用到 sqrt 函数,需添加 math.h 头文件
int getMax(int n)
{
int j=1;
for (j = n - 1; j > 1; --j)
{
int i=2;
float qr = sqrt(j);
for(; i < qr; ++i)
{
if (0 == j % i) break;
}
if (i > qr) break;
}
return j;
}
#include <stdio.h>
int maxprime(int N);
void main()
{
printf("%d\n",maxprime(8));
}
int isprime(int num)
{
int m,flg;
flg = 1;
m = num-1;
while(m>1)
{
if(0 == num%m)
break;
m--;
}
if (m>1)
flg = 0;
return flg;
}
int maxprime(int N)
{
int prime;
prime = N-1;
while(prime>1)
{
if(isprime(prime))
break;
prime--;
}
return prime;
}
给段简单的你参考下
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char**argv)
{
int n;
int i;
int m;
while (1)
{
printf("input a prime number:");
scanf("%d",&n);
while(getchar() != '\n');
m = n - 1;
while(m)
{
if (isPrime(m))
{
printf("the max prime number less than %d is %d\n",n,m);
break;
}
m--;
}
}
return 0;
}
int isPrime(int n)
{
int i;
for (i=2; i<n; i++)
{
if (n % i == 0)
{
return 0;
}
}
return 1;
}