질량 찾기
- #include
- #include
-
- #define TRUE 1
- #define FALSE 0
- #define MAX_SIZE 1000
- #define PRINT 1
-
- int find_prime( char * array );
- int find_prime1( char * array );
- int count_number( char *array );
- void print_prime( char *array );
-
- int main()
- {
- char number[MAX_SIZE];
- int i,count_one , count_two;
- for(i = 0; i <= MAX_SIZE ; i++){
- if( i == 0 || i == 1)
- number[i] = FALSE;
- else
- number[i] = TRUE;
- }
- #ifdef PRINT
- count_one = find_prime(number);
- printf("find_prime :%d
",count_one);
- #else
- count_two = find_prime1(number);
- printf("find_prime1 :%d
",count_two);
- #endif
- }
-
- /**
- * 1
- */
- int find_prime( char * array )
- {
- int k , m;
- int count;
- for( k = 2 ; k <= MAX_SIZE ; k++ ){
- for( m =k ;m*k <= MAX_SIZE ; m++)
- *( array + m*k ) = FALSE;
- }
- print_prime( array );
- count = count_number( array );
- return count;
- }
- /**
- * 2
- */
- int find_prime1( char * array )
- {
- int i,j,count;
- for( i = 2 ; i <= sqrt( MAX_SIZE ) ; i++ ){
- if( array[i] == TRUE ){
- for( j = i ; i*j <= MAX_SIZE ; j++ ){
- array[i*j] = FALSE;
- }
- }
- }
- print_prime( array );
- count = count_number( array );
- return count;
- }
-
- /**
- *
- */
- int count_number( char * array )
- {
- int k ;
- static int count = 0;
- for(k = 0 ; k <= MAX_SIZE ; k++ ){
- if( *( array + k ) == TRUE )
- count++;
- }
- return count;
- }
-
- /**
- *
- */
- void print_prime( char * array )
- {
- int i;
- for( i = 0 ; i <= MAX_SIZE ; i++ ){
- if( *( array + i ) == TRUE )
- printf(" :%d
", i );
- }
- }
vim 7.3
gcc버전: 4.5.1 20100924(Red Hat 4.5.1-4)(GCC)
system : Fedora 14
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
양식 제출 후 제출 버튼 비활성화텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.