Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
143
Tıklama
0
Öne Çıkarma
0-50 arası Evil Numbers listeleyen kod yazınız
T
4 yıl
Yarbay
Konu Sahibi

Konu başlığı mecburen İngilizce cunku Evil Numbers'ın resmi Türkçe karşılığını bulamadım. Fakat Wikipedia'da makalesi var:
https://en.wikipedia.org/wiki/Evil_number
ve açıklaması
'an evil number is a non-negative integer that has an even number of 1s in its binary expansion' ikilik gösteriminde çift sayıda 1 içeren tüm pozitif tam sayılar evil number olarak adlandırılır. 0-50 arası Evil Number'ları 0, 3, 5, 6, 9, 10, 12, 15, 17, 18, 20, 23, 24, 27, 29, 30, 33, 34, 36, 39, 40, 43, 45, 46, 48 veren kod yazınız.

Not: Ödev sorusu değildir. Konu egzersiz ve söyleşi amaçlıdır.





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 22 Eylül 2020; 14:11:14 >

< Bu ileti mini sürüm kullanılarak atıldı >

G
4 yıl
Yarbay

Enumerable.Range(0,50).Select(z=>(z,Convert.ToString(z, 2))).Where(z=>z.Item2.Count(t=>t=='1')==2).ToList().ForEach(z=>Console.WriteLine(z.z));


Bu mesaja 1 cevap geldi.
T
4 yıl
Yarbay
Konu Sahibi

Derlerken error CS8306: Tuple element name 'z' is inferred. Please use language version 7.1 or greater to access an element by its inferred name hatası verdi.

Derleyici olarak mono-5.18.0.225 'daki csc'yi kullanıyorum. Sanırım mono'yu güncellemem gerekecek.



< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @Gökşen PASLI
H
4 yıl
Binbaşı

[0 if bin(i).count('1')%2 else print(i) for i in range(50)]


Bu mesaja 1 cevap geldi.
T
4 yıl
Yarbay
Konu Sahibi

Raku çözümüm. if ve döngü kulanmadan daha kısa da çözülebilir.
.say if $_.base(2).comb.grep(* eq 1).elems %% 2 for 0..50




Bu mesajda bahsedilenler: @hynx
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.