bugün
- acil iş fikri lazım arkadaşlar16
- afrika nasıl kalkınabilir14
- kahverengi kokarcaya karşı samuray arısı4
- arkadaşlar bakar mısınız19
- enel hak4
- had bildirmek3
- kart uzatınca nakit yok mu diyen esnaf3
- iremga4
- kpss sınav ücretinin 800 tl olması4
- bayan kelimesi neden rahatsız edici27
- akp'nin türkiye'ye verdiği zararın kalıcı olması7
- ayetleri eğip büken kitle7
- derin mermerci2
- imamoğlu'nun tutukluluğunun 100 günü16
- honda civic3
- kayıp uygarlıklar4
- abi kartta komisyon kesiliyor haberin olsun2
- kadınların piç erkek tercihi5
- arkadaşlar çok mutluyum2
- evleneceğiniz yazarı neye göre seçersiniz13
- yazarların en son bitirdiği kitap13
- anlayana sivrisinek saz anlamayana davul zurna az3
- turşunun iyisi limonla mı sirkeyle mi11
- dead internet teorisi3
- chp nin illuminati nin bir ayağı olduğu gerçeği6
- bir kızdan soğuma nedenleri3
- bisikletçi pipisi6
- paralel evrenler3
- avcı toplayıcıların harran etrafındaki t sütunları3
- ekonomi13
- laiklik2
- 2028 de genel seçim olmazsa ne yaparsınız4
- laicite2
- sabah kahvaltısı5
- armut dibine düşer2
- kadın ve paradan başka bir şey düşünmeyen erkek6
- ayhan ışık4
- dünyadaki yerçekimi anomalileri2
- dünya 5 ten büyüktür5
- neli dondurma seversiniz14
- zamanın göreceliliği5
- merkür den dünyaya elmas getirmek6
- uyku felci2
- kürtçe zorunlu ders olmalıdır15
- kulak misafiri olduğunuz konuşmalar2
- kliması düzgün çalışmayan araba2
- ismail tutti frutti seyrediyorum göremiyorum eğil3
- 3 ağustos 2026 aykolik gocu buluşması19
- anın fotoğrafı16
- mavi yolculuk2
basit bir c programıyla bile öğrenilebilir!
kratertepesi@msi:~/Masaüstü/Programlar$ ./program
100 milyon sayı içinde 10030385 asal sayı vardır.
işlemci döngüsü: 4772581176
Hesaplama süresi: 1.0846775400 saniye
1 saniyenin 10,000'de kaçı: 10846.7754000000
kod:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <x86intrin.h> // RDTSC için gerekli
#define LIMIT 180000000 // 1 milyar sınırı
#define CPU_FREQUENCY 4.4 // GHz cinsinden işlemci frekansı (örneğin 3.0 GHz)
int main() {
unsigned long long i, j, count = 0;
bool *is_prime = malloc((LIMIT + 1) * sizeof(bool));
if (is_prime == NULL) {
fprintf(stderr, "Bellek tahsis edilemedi.\n");
return 1;
}
// Zaman ölçüm başlangıcı
unsigned long long start = __rdtsc();
// Bütün sayıları asal varsayıyoruz
for (i = 0; i <= LIMIT; i++) {
is_prime[i] = true;
}
// 0 ve 1 asal değildir
is_prime[0] = is_prime[1] = false;
// Eratosthenes Eleği algoritması
for (i = 2; i * i <= LIMIT; i++) {
if (is_prime[i]) {
for (j = i * i; j <= LIMIT; j += i) {
is_prime[j] = false;
}
}
}
// Asal sayıları sayıyoruz
for (i = 2; i <= LIMIT; i++) {
if (is_prime[i]) {
count++;
}
}
// Zaman ölçüm bitişi
unsigned long long end = __rdtsc();
// Döngü farkını hesapla
unsigned long long cycles = end - start;
// Döngü süresi saniye olarak
double time_seconds = cycles / (CPU_FREQUENCY * 1e9); // GHz'den Hz'e dönüşüm
// Sonuçları yazdır
printf("100 milyon sayı içinde %llu asal sayı vardır.\n", count);
printf("işlemci döngüsü: %llu\n", cycles);
printf("Hesaplama süresi: %.10f saniye\n", time_seconds);
printf("1 saniyenin 10,000'de kaçı: %.10f\n", time_seconds * 10000);
// Belleği serbest bırak
free(is_prime);
return 0;
}
kratertepesi@msi:~/Masaüstü/Programlar$ ./program
100 milyon sayı içinde 10030385 asal sayı vardır.
işlemci döngüsü: 4772581176
Hesaplama süresi: 1.0846775400 saniye
1 saniyenin 10,000'de kaçı: 10846.7754000000
kod:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <x86intrin.h> // RDTSC için gerekli
#define LIMIT 180000000 // 1 milyar sınırı
#define CPU_FREQUENCY 4.4 // GHz cinsinden işlemci frekansı (örneğin 3.0 GHz)
int main() {
unsigned long long i, j, count = 0;
bool *is_prime = malloc((LIMIT + 1) * sizeof(bool));
if (is_prime == NULL) {
fprintf(stderr, "Bellek tahsis edilemedi.\n");
return 1;
}
// Zaman ölçüm başlangıcı
unsigned long long start = __rdtsc();
// Bütün sayıları asal varsayıyoruz
for (i = 0; i <= LIMIT; i++) {
is_prime[i] = true;
}
// 0 ve 1 asal değildir
is_prime[0] = is_prime[1] = false;
// Eratosthenes Eleği algoritması
for (i = 2; i * i <= LIMIT; i++) {
if (is_prime[i]) {
for (j = i * i; j <= LIMIT; j += i) {
is_prime[j] = false;
}
}
}
// Asal sayıları sayıyoruz
for (i = 2; i <= LIMIT; i++) {
if (is_prime[i]) {
count++;
}
}
// Zaman ölçüm bitişi
unsigned long long end = __rdtsc();
// Döngü farkını hesapla
unsigned long long cycles = end - start;
// Döngü süresi saniye olarak
double time_seconds = cycles / (CPU_FREQUENCY * 1e9); // GHz'den Hz'e dönüşüm
// Sonuçları yazdır
printf("100 milyon sayı içinde %llu asal sayı vardır.\n", count);
printf("işlemci döngüsü: %llu\n", cycles);
printf("Hesaplama süresi: %.10f saniye\n", time_seconds);
printf("1 saniyenin 10,000'de kaçı: %.10f\n", time_seconds * 10000);
// Belleği serbest bırak
free(is_prime);
return 0;
}
Gündemdeki Haberler
Güncel Önemli Başlıklar