added new examples

This commit is contained in:
2024-08-22 00:24:19 +03:00
parent 4367febcd7
commit 4c8409da35
10 changed files with 203 additions and 6 deletions

19
examples/euler/1.kurt Normal file
View File

@@ -0,0 +1,19 @@
;; test
;; (format nil "~a~%" 233168)
;; https://projecteuler.net/problem=1
;; 1000den küçük, 3 veya 5 in katı olan tüm sayıların toplamını bulun.
;; Örnek: 10 için 3 + 5 + 6 + 9 = 23
makro problem-girdi 1000 son
0 3 döngü eş problem-girdi < iken
eş 3 % 0 =
üst 5 % 0 =
| ise
eş rot + değiş
yap
1 +
yap düş
dump

21
examples/euler/2.kurt Normal file
View File

@@ -0,0 +1,21 @@
;; test
;; (format nil "~a~%" 4613732)
;; https://projecteuler.net/problem=2
;; Fibonacci serisi,
;; f(0) = 0, f(1) = 1 ve f(n) = f(n-1) + f(n-2)
;; şeklinde tanımlanmış bir dizidir.
;; 0 1 1 2 3 5 8 13 21 34 55 89... gibi
;; 4 milyondan küçük ve çift sayı olan ögelerin toplamını bulun.
kütüphane "std.kurt"
bel 0 store64
0 1 döngü eş 4000000 < iken
eş 2 % 0 = ise
eş bel load64 +
bel değiş store64
yap
değiş üst +
yap düş düş
bel load64 dump

16
examples/euler/3.kurt Normal file
View File

@@ -0,0 +1,16 @@
;; test
;; (format nil "~a~%" 6857)
;; https://projecteuler.net/problem=3
;; 13195 sayısının asal çarpanları 5, 7, 13 ve 29 dur.
;; 600851475143 sayısının en büyük asal çarpanını bulun.
kütüphane "std.kurt"
600851475143 2 döngü üst 1 > iken
2eş % 0 = ise
değiş üst / değiş
yoksa
1 +
yap
yap dump

32
examples/euler/4.kurt Normal file
View File

@@ -0,0 +1,32 @@
;; test
;; (format nil "~a~%" 906609)
;; palindrom sayılar ters çevrildiğinde kendine eşit olan sayılardır.
;; iki basamaklı iki sayının çarpımından oluşan en büyük palindrom
;; 9009 = 91 x 99 dur.
;; üç basamaklı iki sayının çarpımından oluşan en büyük palindromu bulun.
kütüphane "std.kurt"
makro palindrome? (a -- bool)
0 döngü üst 0 > iken
10 * üst 10 % + ;;eş dump
değiş 10 / değiş
yap değiş düş
=
son
bel 0 store64
100 döngü eş 1000 < iken
100 döngü eş 1000 < iken
2eş * eş palindrome? ise
eş bel load64 > ise
eş bel değiş store64
yap
yap düş
1 +
yap düş
1 +
yap düş
bel load64 dump

31
examples/euler/5.kurt Normal file
View File

@@ -0,0 +1,31 @@
;; test
;; (format nil "~a~%" 232792560)
;; 2520, 1den 10a kadar tüm sayılara tam bölünen en küçük sayıdır.
;; 1den 20ye kadar tüm sayılara tam* bölünebilen en küçük sayıyı bulun.
;; * kalansız bölünen
kütüphane "std.kurt"
makro N 20 son
makro cevap bel son
makro gcd (a b -- c)
döngü üst iken
üst % değiş
yap
değiş düş
son
makro lcd (a b -- c)
2eş * rot rot gcd /
son
cevap 1 store64
1 döngü eş N < iken
cevap
üst cevap load64 lcd
store64
1 +
yap
cevap load64 dump