View Code of Problem 91

//打素数表
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
const int maxn=10010;
bool p[maxn];
int isPrime(int n)
{
	if(n<=1) return false;
	int sqr=(int)sqrt(1.0*n);
	for(int i=2;i<=sqr;i++)
	{
		if(n%i==0)
			return false;
	}
	return true;
}
void FindPrime()
{
	for(int i=0;i<maxn;i++)
	{
		if(isPrime(i))
		p[i]=true;
	}
}

int main()
{
 
    FindPrime();
	int n=0;
	scanf("%d",&n);
	int len=n;
	for(int i=2;i<len;i++)
	{
		while(p[i]==true&&n%i==0)
		{
			printf("%d",i);
			if(n/i!=1)
			{
				printf("*");
			}
			n=n/i;
		}
	}
	system("pause");
}

/*
Main.c:6:1: error: unknown type name 'bool'
 bool p[maxn];
 ^
Main.c:6:6: error: variably modified 'p' at file scope
 bool p[maxn];
      ^
Main.c: In function 'isPrime':
Main.c:9:18: error: 'false' undeclared (first use in this function)
  if(n<=1) return false;
                  ^
Main.c:9:18: note: each undeclared identifier is reported only once for each function it appears in
Main.c:16:9: error: 'true' undeclared (first use in this function)
  return true;
         ^
Main.c: In function 'FindPrime':
Main.c:23:8: error: 'true' undeclared (first use in this function)
   p[i]=true;
        ^
Main.c: In function 'main':
Main.c:36:15: error: 'true' undeclared (first use in this function)
   while(p[i]==true&&n%i==0)
               ^
Main.c: In function 'isPrime':
Main.c:17:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
*/

Double click to view unformatted code.


Back to problem 91