bugün

5 basamağın üstünde ben iptal oldum. bu ne la! dahası 100 milyon basamaklı sayıyı 10 saniyede, 1 milyar basamaklı sayıları 1 dk da hesaplayıp terminal ekranına yazdırıyor dijital beyin cpu.

https://streamable.com/u1vo9q
böylesine basit bir program nasıl oluyor da 10-100 milyon basamaklı 2 sayıyı üretip, çarpım değerini hesaplayıp ekrana yazdırıyor, insan beyni tarafından kavranması olanaksız bir hesaplama yeteneği!
#include <stdio.h>
#include <gmp.h>
#include <stdlib.h>
#include <time.h>

int main() {
// GMP değişkenlerini tanımla
mpz_t num1, num2, result;
mpz_init(num1);
mpz_init(num2);
mpz_init(result);

// Rastgele sayı üretimi için bir durum oluştur
gmp_randstate_t state;
gmp_randinit_mt(state); // Mersenne Twister yöntemi
gmp_randseed_ui(state, time(NULL)); // Zamanı seed olarak kullan

// 100 basamaklı iki rastgele sayı üret
mpz_urandomb(num1, state, 10000000 * 3.32); // 3.32 yaklaşık olarak log10(2)'dir
mpz_urandomb(num2, state, 10000000 * 3.32);

// iki sayıyı çarp
mpz_mul(result, num1, num2);

// Sonuçları yazdır
gmp_printf("Sayı 1: %Zd\n", num1);
gmp_printf("Sayı 2: %Zd\n", num2);
gmp_printf("Çarpım: %Zd\n", result);

// Belleği temizle
mpz_clear(num1);
mpz_clear(num2);
mpz_clear(result);
gmp_randclear(state);

return 0;
}
tabi bu sonucu .program_adi >>yazilacak_txt_dosyaadi.txt şeklinde basit bir komutla kaydedip, boyutunu da okuyabilirsiniz.

görsel

400 milyon rakam demek bu!
bilgisayar 1 saniyede bu iki sayıyı çarptı, txt dosyasına yazdırdı, ve ssd de 400 mb lik bir dosyayla karşılaştım.
görsel

buyrun inceleyin:
https://www.file.io/zEdz/download/Uy05D5MKdOFv