[]
C programlama asal sayı sorusu
İyi geceler arkadaşlar,
Yazmam gereken basit bir kod var.
Kullanıcı bir n sayısı giriyor. n herhangi bir tam sayı. Bilgisayar bize 1/2 + 1/3 + ..... + 1/(n. asal sayı) toplamını veriyor. Mesela n=6 ise 1/2+1/3+1/5+1/7+1/11+1/13 = 1.34 veriyor program.
Main fonksiyon verilmiş. int n; scanf n ve printf ("%.2f", findSum(n) var main fonksiyonda.
Benden
float findSum(int n){
}
fonksiyonunu doldurmam isteniyor. Yardımlarınızı bekliyorum.
Yazmam gereken basit bir kod var.
Kullanıcı bir n sayısı giriyor. n herhangi bir tam sayı. Bilgisayar bize 1/2 + 1/3 + ..... + 1/(n. asal sayı) toplamını veriyor. Mesela n=6 ise 1/2+1/3+1/5+1/7+1/11+1/13 = 1.34 veriyor program.
Main fonksiyon verilmiş. int n; scanf n ve printf ("%.2f", findSum(n) var main fonksiyonda.
Benden
float findSum(int n){
}
fonksiyonunu doldurmam isteniyor. Yardımlarınızı bekliyorum.
-girilen sayıya kadar olan asal sayılar bulursun
-her bulduğunu 1e bölüp toplama eklersin
-her bulduğunu 1e bölüp toplama eklersin
- heritage (29.03.14 23:47:48)
evet ama maksimum bir sayı yok işte, sıkıntı orada. 20'ye kadar asal sayıların toplamı gibi değil, ilk 20 asal sayının toplamı burada bulunması gereken. Yani tabi ki 1/x olarak toplamı.
- aguilas negras (29.03.14 23:49:54)
verilen bir sayıya kadar olan asal sayıları örneğin sieve of eratostehenes algoritmasi ile bulabilirsin, her bulduğun sayı için de heritage'in dediği gibi başka bir değişkende 1 e bölümü ile toplarsın. algoritmanin c ile yazılmış bir örneği ve açıklaması linkte
www.geeksforgeeks.org
www.geeksforgeeks.org
- project zero (30.03.14 00:11:28)
nasıl maksimum yok? kullanıcı girmeyecek mi sayı? neyin asalı bulunacak input yoksa?
@project zero
verilen sayıya kadar değil, 1den verilen sayı kadar olan tüm asal sayıları gösterecek.
@project zero
verilen sayıya kadar değil, 1den verilen sayı kadar olan tüm asal sayıları gösterecek.
- heritage (30.03.14 00:22:17 ~ 00:25:04)
kullanıcının girdiği n sayısı kaç tane asal sayı olduğunu gösteriyor işte. sizin dediğiniz gibi olsaydı mesela 10 girince 1/2 + 1/3 + 1/5 + 1/7'nin sonucunu verirdi. Ama 4 girince o sonucu veriyor. Başka bir tabirle 10 girince 1/2 + 1/3 + 1/5 + 1/7 + 1/11 + 1/13 + 1/17 + 1/19 + 1/23 + 1/29 işleminin sonucunu veriyor.
- aguilas negras (30.03.14 00:25:49)
bir loop içinde asal sayıları hesaplayıp, her bulunan asal sayı için
sonuc = sonuc + (1 / sonBulunanAsalSayi); yapıp (bulunanAsalAdedi == n) olduğunda sonuc'u return edeceksin.
Soru biraz ev ödevine benzediği için asal sayıları bulduğun loop'u mahsus koymuyorum. onu da kendin yaparsan iyi edersin ;)
kolay gelsin.
sonuc = sonuc + (1 / sonBulunanAsalSayi); yapıp (bulunanAsalAdedi == n) olduğunda sonuc'u return edeceksin.
Soru biraz ev ödevine benzediği için asal sayıları bulduğun loop'u mahsus koymuyorum. onu da kendin yaparsan iyi edersin ;)
kolay gelsin.
- vanwarantion (30.03.14 04:22:49 ~ 04:35:21)
1