Skip to content

Instantly share code, notes, and snippets.

@symtkn
Created December 17, 2011 21:16
Show Gist options
  • Save symtkn/1491426 to your computer and use it in GitHub Desktop.
Save symtkn/1491426 to your computer and use it in GitHub Desktop.
calısma1
#include <stdio.h>
#include <stdlib.h> //rand() fonksiyonu icin baslik dosyasidir.
#include <time.h> //srand() ve clock() fonksiyonlari icin gerekli olan baslik dosyasidir.
int myrandom(int basamak){
int defa = (basamak / 5);
int sayim, say, no = 1;
while(defa > 0){ //istenilen basamak sayisina ulasabilmek icin kac defa 5 basamakli sayi üretilecekse o kadar döngü devam eder.
say = rand() % 89999 + 10000; //random ile 5 basamakli sayilar belirlenir.
sayim = say; //ilk 5 basamakli sayi atamasi yapilir.
if(no != 1) // 2. ve daha sonraki sayilar olmak üzere
sayim = sayim * 10000 + say; // sayilar bir önceki sayinin sonuna eklenir, basamak değerleri yardimiyla.
defa--;
no++;
}
return sayim; //sonuc olarak istenilen basamakta sayi döndürülür.
}
void asal_carpanlar(int sayi){
int t;
for(t = 2; sayi != 1; t++) // sayi 1 olmadigi sürece dongu devam eder. En kücük asal sayi 2 oldugu icin alt sinir olarak baslatilir.
if((sayi % t) == 0){
sayi /= t;
printf("%5d\t", t);
t--; // sayi 2'ye bolundugunde kalan sifir oldugu surece 2'ye bolmeye devam edilir.
} //Bu durum sayinin t degerine bolumunden kalani sifir olmadiginda bir sonraki sayi olan 3'e yani t+1'e geçer.
printf("\n"); //sayinin çarpanlarini tek satira yazdiktan sonra diger bir sayida bir alt satira gecer.
}
void gecen_sure(void){ //Bu fonksiyon, kendisini cagiran program icin mevcut calısma suresini, saniye cinsinden goruntuler.
printf("calisma suresi: %ld sn. \n", clock()/CLOCKS_PER_SEC);
}
int main(void){
srand(time(NULL)); // random fonksiyonu cagirildiginde her seferinde farkli sayi uretilmesini saglar.
int sayi, kac = 10; // 10 adet olarak sayi adeti belirlendi.
while(kac > 0){ //10. sayi elde edilene kadar dongu devam eder.
sayi = myrandom(45896899); // myrandom() adli fonksiyona parametre olarak istenilen basamak degeri girilir.ÖRN:20,40...,99999999 vs.Burada 45896899 basamakli olmasini istedik.
asal_carpanlar(sayi); //hazirlamis oldugumuz 'myrandom' ve 'asal_carpanlar' adli fonksiyonlarimizi cagirdik.
kac--;
}
gecen_sure(); //saniye cinsinden programin calisma süresini verir.
return 0; //programin sifir hata ile dondugnu belirttik.
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment