Forum: D Programlama Dili RSS
2 sayının faktoriyellerinin ortak çarpanını bulmak
kerdemdemir #1
Üye Eyl 2013 tarihinden beri · 123 mesaj · Konum: Danimarka
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: 2 sayının faktoriyellerinin ortak çarpanını bulmak
Merhabalar,

Çok basit bir soru çözdüm ne kadar basit olsada paylaşmak istedim biraz aktif olmak için. İki tane sayı veriliyor bize. Örneğin 3 ve 4. Biz bu sayıların faktoriyellerinin en büyük ortak çarpanını bulmaya çalıyoruz. Mesela bu 3 ve 4 için sonuç 6 olmalı.


import std.stdio;
import std.string;
import std.algorithm;
import std.exception;
import std.conv;
import std.array;
import std.range;
import std.math;


void main()
{
    auto ilkSatir = stdin.readln.strip.split().map!(a => to!int(a)).array();

    auto minumumSayi = min( ilkSatir[0], ilkSatir[1]);
    int sonuc = 1;
    while ( minumumSayi )
    {
        sonuc *= (minumumSayi--);   
    }
    writeln(sonuc);
}



Soruyu çözerken D de faktoriyel için hazır bir fonksiyon olmadığını gördüm biraz üzüldüm.

Bunun yanı sıra forumumuzun formatı hakkında bir şey sormak istiyorum. Acaba bu yarışma soruları paylaşırken foruma daha katkı sağlamak için nasıl bir format takip etmeliyim. Örneğin takıldığım noktaları mı sorsam sadece böylece başka insanlar takılmasa. Acaba bir katkı sağlamış olurmuyum.

Erdemdem
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4538 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yani bu sorunun püf noktası, cevabın küçüğün faktöriyeli olması. :)

kerdemdemir:
Soruyu çözerken D de faktoriyel için hazır bir fonksiyon olmadığını gördüm biraz üzüldüm.

Eski Dcilerden bearophile zamanında istemiş ama hem çok kullanılan bir işlev olmadığından hem de yazması basit olduğundan reddedilmiş:

  https://issues.dlang.org/show_bug.cgi?id=13371

Acaba bir katkı sağlamış olurmuyum.

Kendi adıma her çeşit D sohbetinden hoşlanıyorum. :)

Ali
kerdemdemir #3
Üye Eyl 2013 tarihinden beri · 123 mesaj · Konum: Danimarka
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Küçük bir şey olsa bile sanıyorsam şu while yerine fold kulanabilirdim sanıyorsam faktoriyel için daha şık olurdu.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-12-16, 08:35:55 (UTC -08:00)