程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 一個超復雜的間接遞歸——C語言初學者代碼中的常見錯誤與瑕疵(6)

一個超復雜的間接遞歸——C語言初學者代碼中的常見錯誤與瑕疵(6)

編輯:關於C語言

 。

 main(  , & ( n -- > , & , get_nearest( x ) ); 
 

 

 prime_list * get_nearest(  step =  ;         
    sign = -;         
   Node * head = NULL ;   
   
    ( ! be_prime( x , &+= ( sign = - sign ) * ++

 

 be_prime(  x , Node * * pp ) 
 ( x <=   ( x ==   ( get_remainder( x , pp ) ==  ) 
        

 get_remainder(  x , Node * * pp )
 ( * pp == NULL || sqr_less( (*pp) -> prime , x ) )
      add_1_prime ( pp ) ;                                 
* p = * ( p != ( x % p -> prime ==  = p -> ! sqr_less (  n ,  n * n <

  add_1_prime ( pp ) ;

  sqr_less( (*pp) -> prime , x )

 add_1_prime( Node * * ( * pp == , pp );                     
        next_p = ( * pp )->prime +  ;     
   
    ( !++
}

be_prime( next_p , pp )

be_prime( x , & head )

add_1_prime ( pp ) ; 

be_prime( next_p , pp )

9這個量級),兩套代碼的速度有天壤之別。

 

 get_nearest(  step =  ;         
    sign = -;         
   Node * head = NULL ;   
   
    ( 建立最大素數平方不小於x的素數表() , ! be_prime( x , &+= ( sign = - sign ) * ++

   

 add_1_prime( Node * * ( * pp == , pp );                     
        ( ( * pp ) ->  : add (   : add (     
       next_p = ( * pp )->prime +  ;     
   
                    ( !++
                   

   

問題:
素數
在世博園某信息通信館中,游客可利用手機等終端參與互動小游戲,與虛擬人物Kr. Kong 進行猜數比賽。
當屏幕出現一個整數X時,若你能比Kr. Kong更快的發出最接近它的素數答案,你將會獲得一個意想不到的禮物。

若X本身是素數,則回答X;若最接近X的素數有兩個時,則回答大於它的素數。

接下來有N行,每行有一個正整數X
輸出:輸出有N行,每行是對應X的最接近它的素數

4
22
5
18
8
輸出
23
5
19
7

出處:http://www.cnblogs.com/pmer/   “C語言初學者代碼中的常見錯誤與瑕疵”系列博文

*/


#include <stdio.h><stdbool.h> prime_list * get_nearest( be_prime( , Node * * get_remainder( , Node * * add_1_prime( Node * * sqr_less ( , add ( , Node * * my_malloc( Node * * my_free( Node * main( , & ( n -- > , & , get_nearest( x ) ); get_nearest( step = ; sign = -; Node * head = NULL ; ( ! be_prime( x , &+= ( sign = - sign ) * ++ be_prime( x , Node * * pp ) ( x <= ( x == ( get_remainder( x , pp ) == ) get_remainder( x , Node * * pp ) ( * pp == NULL || sqr_less( (*pp) -> prime , x ) ) add_1_prime ( pp ) ; * p = * ( p != ( x % p -> prime == = p -> ! sqr_less ( n , n * n < add_1_prime( Node * * ( * pp == , pp ); ( ( * pp ) -> : add ( : add ( next_p = ( * pp )->prime + ; ( !++ add ( prime , Node * **&-> prime =-> next = ** pp = my_malloc( Node * * ( ( * p_p = malloc( (* * p_p) ) ) == my_free( Node ** ( ( temp = p ) !== p->

 相關博客

  偶然發現Jingle Guo網友後來研究同一問題的一篇博文,我感覺對閱讀此文的網友可能有一定的參考價值,故在此給出相關鏈接:。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved