C语言求素数(质数)Eratosthenes经典算法.docx
(2页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
9.90 积分
// 使用Eratosthenes方法找出指定范围内的 所有质数#include #define SIZE 500 //该方法能够求出 2*SIZE 之内的质数#define TRUE 1#define FALSE 0int main(){ char sieve[ SIZE ]; /* the sieve */ char *sp; /* pointer to access the sieve */ int number; /* number we’re computing */ /* ** Set the entire sieve to TRUE. */ for( sp = sieve; sp = &sieve[ SIZE ] ) break; /* ** Now advance the pointer by multiples of the number and set ** each subsequent entry FALSE. */ while( sp += number, sp < &sieve[ SIZE ] ) *sp = FALSE; } /* ** Go through the entire sieve now and print the numbers corresponding ** to the locations that remain TRUE. */ printf( "2\t" ); for( number = 3, sp = &sieve[ 0 ]; sp < &sieve[ SIZE ]; number += 2, sp++ ){ if( *sp ) printf( "%d\t", number ); } system("pause"); return EXIT_SUCCESS;} 关 键 词: eratosthenes 算法 c语言 经典 质数 素数
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:C语言求素数(质数)Eratosthenes经典算法.docx
链接地址: https://www.wenku365.com/p-51687556.html