![]() |
Quote:
Egy számgeneráló eljárás és egy eléggé felturbózott (gyökéig osztókat kereső) prímkereső algoritmussal. Számgeneráló: Code:
function novekvo(szam : int64; n : byte;ciklus : byte) : boolean; Code:
function prim(szam:int64): boolean; |
a fermat prímteszttel az a gondom, hogy 2^(10^14)-en szám pedig horribilis memóriát foglalna, ha egyáltalán bele tudnám tuszkolni valami változóba :D
|
Quote:
Van egy ismert képlet a prímszámok darabszámára. Ha nem tévedek, akkor 10^8-ig kb 5,5 millió prím van. (kb minden 18. szám lesz prím.) 10^8-on meg 10^15 gyöke fölött van. Szóval a 4,2 milliárdos határt bizony nem éri el. |
Quote:
10^14-ig ~3.102.103.442.166 prím szám van. Ebből vegyük el, a 10^13-ig lévő prím számok darabszámát, ami kb ~334.072.678.387. 3.102.103.442.166-334.072.678.387=2.768.030.763.779. Ha nem számoltam el semmit, akkor elvileg több mint 4,2 milliárd 14 számjegyű prímszám van. |
Quote:
|
Quote:
|
Quote:
|
Quote:
10^8-ig pontosan 5.761.455 db prím szám van. :) |
Quote:
|
Quote:
Így néz ki a Tied, hogy lásd, nem változtattam semmit: #include <stdlib.h> #include <math.h> #include <stdio.h> bool prim(long unsigned long szam) { long unsigned long gyok, i; gyok = round(sqrt(szam)); i=3; while (i<=gyok) { if (szam % i == 0) return false; i++; i++; } return true; } int main(int argc, char** argv) { unsigned long k = 1; for (long unsigned long i = 2; i < 50000000 ; i++) { if (prim(i*2-1)) { k++; } } printf("%d", k); printf("\n"); return (EXIT_SUCCESS); } |
All times are GMT +1. The time now is 04:16. |
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Design partly based on Hódító's design by Grafinet Team Kft.
Contents and games copyright (c) 1999-2020 - Queosia, Hódító
Partnerek: Játékok, civ.hu