%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/mawk/examples/ |
Upload File : |
#!/usr/bin/mawk -f # primes.awk # # mawk -f primes.awk [START] STOP # find all primes between 2 and STOP # or START and STOP # function usage() { ustr = sprintf("usage: %s [start] stop", ARGV[0]) system( "echo " ustr) exit 1 } BEGIN { if (ARGC == 1 || ARGC > 3 ) usage() if ( ARGC == 2 ) { start = 2 ; stop = ARGV[1]+0 } else if ( ARGC == 3 ) { start = ARGV[1]+0 ; stop = ARGV[2]+0 } if ( start < 2 ) start = 2 if ( stop < start ) stop = start prime[ p_cnt = 1 ] = 3 # keep primes in prime[] # keep track of integer part of square root by adding # odd integers odd = test = 5 root = 2 squares = 9 while ( test <= stop ) { if ( test >= squares ) { root++ odd += 2 squares += odd } flag = 1 for ( i = 1 ; prime[i] <= root ; i++ ) if ( test % prime[i] == 0 ) # not prime { flag = 0 ; break } if ( flag ) prime[ ++p_cnt ] = test test += 2 } prime[0] = 2 for( i = 0 ; prime[i] < start ; i++) ; for ( ; i <= p_cnt ; i++ ) print prime[i] }