experiment : get prime's counter from a to b
发布日期:2021-06-30 22:04:25 浏览次数:2 分类:技术文章

本文共 2285 字,大约阅读时间需要 7 分钟。

/// @file GetPrime.cpp/// @brief  get a to b's prime counter#include "stdafx.h"#include 
#include
size_t GetRangePrimeCnt(long lBegin, long lEnd);BOOL IsPrime(long lNumber);int _tmain(int argc, _TCHAR* argv[]){ long lBegin = 1/* 836387397 */; long lEnd = 999/* 388373793838 */; wprintf(L"Get prime counter from %d to %d, please wait...\r\n", lBegin, lEnd); wprintf(L"%d to %d prime counter is %d\r\n", (long)lBegin, (long)lEnd, GetRangePrimeCnt(lBegin, lEnd)); wprintf(L"END, press any key to quit\r\n"); getwchar(); return 0;}size_t GetRangePrimeCnt(long lBegin, long lEnd){ size_t nPrimeCnt = 0; long lIndex = 0; wprintf(L"prime below : \r\n"); for (lIndex = lBegin; lIndex <= lEnd; lIndex++) { if (IsPrime(lIndex)) { wprintf(L" %d", lIndex); nPrimeCnt++; if (0 == (nPrimeCnt % 8)) wprintf(L"\r\n"); } } wprintf(L"\r\n"); return nPrimeCnt;}BOOL IsPrime(long lNumber){ BOOL bPrime = TRUE; long lSqrt = (long)sqrt(1.0f * lNumber); long lIndex = 0; if (lNumber <= 1) return FALSE; for (lIndex = 2; lIndex <= lSqrt; lIndex++) { if (0 == (lNumber % lIndex)) { bPrime = FALSE; break; } } return bPrime;}/** run resultGet prime counter from 1 to 999, please wait...prime below :2 3 5 7 11 13 17 1923 29 31 37 41 43 47 5359 61 67 71 73 79 83 8997 101 103 107 109 113 127 131137 139 149 151 157 163 167 173179 181 191 193 197 199 211 223227 229 233 239 241 251 257 263269 271 277 281 283 293 307 311313 317 331 337 347 349 353 359367 373 379 383 389 397 401 409419 421 431 433 439 443 449 457461 463 467 479 487 491 499 503509 521 523 541 547 557 563 569571 577 587 593 599 601 607 613617 619 631 641 643 647 653 659661 673 677 683 691 701 709 719727 733 739 743 751 757 761 769773 787 797 809 811 821 823 827829 839 853 857 859 863 877 881883 887 907 911 919 929 937 941947 953 967 971 977 983 991 9971 to 999 prime counter is 168END, press any key to quit*/

@ref http://zh.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0素数指在大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。比1大但不是素数的数称为合数。1和0既非素数也非合数最小的素数是2,也是素数中唯一的偶数;其他素数都是奇数。质数有无限多个,所以不存在最大的质数。

转载地址:https://lostspeed.blog.csdn.net/article/details/18702265 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:WinXpSp3升级后不能访问 codeproject 站点的问题
下一篇:HttpSendRequest's demo

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月08日 19时38分43秒