1. sayfa
seninle el ele veren dünyayı ele geçirir :D |
Konu söyleşi amaçlıdır demem yanlış anlaşılmasın Önce kod, sonra söyleşi. |
// karalama yaptigim projenin icerisinde yazdim, ney nereden geliyor tam emin degilim eksik kaldikca yazilirkisa bi goz atinca iskaladigi bir sey goremiyorum, performansi hakkinda konusulacak cok sey var tabii ki. sizin yorumlarinizi bekliyorum oncelikle |
Oldukça uzun bir kod. isPrime ve reverse fonksiyonlarını hariç tutsak bile boş satırsız 27 satır kod var. Klasik C++ kullanmışsınız. C++11 ve yukarısındaki 'lambda' özelliklerini kullanarak o 27 satır 3-5 satıra düşürülebilir. Orta çaplı bir proje geliştirirken 5 satırda yapılabilecek şeyi 25 satırda yapsanız o proje ciddi şekilde zorlaşır. Bu şekilde kod sadece hobi amaçlı deil gerçek projelerde de ciddi sorun oluşturur. |
bool asalmı(int sayı) => Enumerable.Range(1, sayı).Where(x => sayı % x == 0).SequenceEqual(new[] { 1, sayı }); |
Güzel fakat Raku ile cok kısa ve net tek satır:say grep { $_.is-prime and $_.flip.is-prime and not ($_ eq $_.flip) }, 1..1000; |
Yogun sekilde scripting dilleri kullanmiyorum sizin gibi hocam(birkac konunuza daha denk geldigim icin boyle bir varsayimda bulundum), benim icin oldukca anlasilir ve net bir kod acikcasi. Modern C++ ile bir sure calismistim fakat verimliligimi dusurunce eski C++ stiline geri dondum. Dilin kendisi ile bogusmayi cok sevmiyorum acikcasi, kafamdan gectigi gibi kodu yazabildigim surece verimliligimi bir seviyede tutabilirim |
C++14 kullansanız, Raku'daki kodu nerdeyse aynısını direkt C++'a portlayabilirsiniz isPrime ve ReverseNumber senin kodlardan direk alıntı) vector<int> a(1000);Sadece 7 satır ki o vektörü kopyalayarak ve kopyalanan vektördeki fazla alanı erase ile temizleyerek yaptığım için, onları da yapmasam 3-4 satırda halledilebilecek birşey. |
C++ çözümünü 7 'den 3 satıra indirdim :)vector<int> a(1000); |
isp = lambda x: sum([1 if x%i==0 else 0 for i in range(2,x)])==02 satir python kodu. Kutuphane kullanarak ya da isp fonksiyonu alta alinarak 1 satira inebilir.Bir de sorunun taniminda hata var wikipedideki tanima gore yaptim. |
1. sayfa
https://en.wikipedia.org/wiki/Emirp
0-1000 arası emirp sayıları listeleyen kod yazınız
Kullandığınız derleyicide yerleşik asal sayı check fonksiyonu varsa kullanabilrsiniz.
Not: Soru ödev sorusu değildir. Kod egzersizi ve söyleşi amaçlıdır.
Not2: Bu konuyu 'sohbet' bölümüne açtım fakat konum gözükmedi dolayısıyla 1 gündür kimse görmedi. o yüzden konuyu burada açtım.
< Bu ileti mini sürüm kullanılarak atıldı >