Thread overview
2 sayının faktoriyellerinin ortak çarpanını bulmak
Jul 07, 2017
kerdemdemir
Jul 08, 2017
kerdemdemir
July 08, 2017

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

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 08, 2017

Küçük bir şey olsa bile sanıyorsam şu while yerine fold kulanabilirdim sanıyorsam faktoriyel için daha şık olurdu.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 08, 2017

Yani bu sorunun püf noktası, cevabın küçüğün faktöriyeli olması. :)

Alıntı (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

Alıntı:

>

Acaba bir katkı sağlamış olurmuyum.

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

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]