Basit bir tamsayı işlemi komut dosyası hesap makinesi uygulayın.
kavram
Akümülatör 0'da başlar ve üzerinde gerçekleştirilen işlemlere sahiptir. Programın sonunda akümülatörün değeri çıktı.
Operasyonlar:
+
1
akümülatöre ekler-
1
akümülatörden çıkarır*
akümülatörü çarparak2
/
akümülatörü böler2
Örnek komut dosyası
Giriş ++**--/
, çıkışı vermelidir 3
.
Örnek uygulama
def calc(s)
i = 0
s.chars.each do |o|
case o
when '+'
i += 1
when '-'
i -= 1
when '*'
i *= 2
when '/'
i /= 2
end
end
return i
end
kurallar
- Bu kod golf , yani bayt cinsinden en düşük cevap kazanır, ancak seçilmez.
- Yaratıcı uygulamalar teşvik edilir.
- Standart boşluklar yasaktır.
- Programı stdin veya argümanlarla alırsınız ve cevabı return değeri veya stdout ile çıkartabilirsiniz.
- İyi eğlenceler.
- Bölme tamsayı bölmeli olduğu için kısalır.
- Program
-/
geri döner-1
.
Test durumları
*///*-*+-+
-1
/*+/*+++/*///*/+-+//*+-+-/----*-*-+++*+**+/*--///+*-/+//*//-+++--++/-**--/+--/*-/+*//*+-*-*/*+*+/+*-
-17
+++-+--/-*/---++/-+*-//+/++-*--+*+/*/*/++--++-+//++--*/***-*+++--+-*//-*/+*/+-*++**+--*/*//-*--**-/-*+**-/*-**/*+*-*/--+/+/+//-+*/---///+**////-*//+-+-/+--/**///*+//+++/+*++**++//**+**+-*/+/*/*++-/+**+--+*++++/-*-/*+--/++*/-++/-**++++/-/+/--*/-/+---**//*///-//*+-*----+//--/-/+*/-+++-+*-*+*+-/-//*-//+/*-+//+/+/*-/-/+//+**/-****/-**-//+/+-+/*-+*++*/-/++*/-//*--+*--/-+-+/+/**/-***+/-/++-++*+*-+*+*-+-//+/-++*+/*//*-+/+*/-+/-/*/-/-+*+**/*//*+/+---+*+++*+/+-**/-+-/+*---/-*+/-++*//*/-+-*+--**/-////*/--/*--//-**/*++*+/*+/-+/--**/*-+*+/+-*+*+--*///+-++/+//+*/-+/**--//*/+++/*+*////+-*-//--*+/*/-+**/*//+*+-//+--+*-+/-**-*/+//*+---*+//*/+**/*--/--+/*-*+*++--*+//+*+-++--+-*-*-+--**+/+*-/+*+-/---+-*+-+-/++/+*///*/*-+-*//-+-++/++/*/-++/**--+-////-//+/*//+**/*+-+/+/+///*+*///*-/+/*/-//-*-**//-/-+--+/-*--+-++**++//*--/*++--*-/-///-+/+//--+*//-**-/*-*/+*/-*-*//--++*//-*/++//+/-++-+-*/*-+++**-/-*++++**+-+++-+-***-+//+-/**-+/*+****-*+++*/-*-/***/-/*+/*****++*+/-/-**-+-*-*-++**/*+-/*-+*++-/+/-++*-/*-****-*
18773342
-/
dönmeli?
/
olmayanlar üretebilir.