This commit is contained in:
2025-06-01 21:48:47 +02:00
parent 437697b287
commit e647e7f508
20 changed files with 167 additions and 147 deletions

View File

@@ -1,6 +1,3 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func main[] : I64
let sum: I64 = 0

View File

@@ -1,27 +1,9 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func is_prime[n: I64]: I64
if n <= 1
return false
if n == 2 || n == 3
return true
if n % 2 == 0 || n % 3 == 0
return false
let i: I64 = 5
while i * i <= n
if n % i == 0 || n % (i + 2) == 0
return false
i = i + 6
return true
func main[] : I64
let sum: I64 = 0
let i: I64 = 0
while i < 2000000
if is_prime(i)
if Math.is_prime(i)
sum = sum + i
i = i + 1
print_i64(sum)

View File

@@ -1,6 +1,3 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func num_divisors[n: I64] : I64
let end: I64 = isqrt(n)

View File

@@ -1,6 +1,3 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func collatz_num[n: I64] : I64
if n % 2 == 0
return n / 2

View File

@@ -1,6 +1,3 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func main[] : I64
let sum: I64 = 0
let a: I64 = 0

View File

@@ -1,6 +1,3 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func main[] : I64
let n: I64 = 600851475143
let f: I64 = 2

View File

@@ -1,11 +1,3 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func I64.to_string[n: I64] : String
let x: I64 = malloc(21)
sprintf(x, "%ld", n)
return x
func main[] : I64
let out: I64 = 0

View File

@@ -1,21 +1,8 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func gcd[a: I64, b: I64] : I64
while b != 0
let tmp: I64 = b
b = a % b
a = tmp
return a
func lcm[a: I64, b: I64] : I64
return (a * b) / gcd(a, b)
func main[] : I64
let out: I64 = 1
let i: I64 = 1
while i < 21
out = lcm(out, i)
out = Math.lcm(out, i)
i = i + 1
print_i64(out)

View File

@@ -1,6 +1,3 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func main[] : I64
let sum_of_squares: I64 = 0
let i: I64 = 1

View File

@@ -1,27 +1,9 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func is_prime[n: I64]: I64
if n <= 1
return false
if n == 2 || n == 3
return true
if n % 2 == 0 || n % 3 == 0
return false
let i: I64 = 5
while i * i <= n
if n % i == 0 || n % (i + 2) == 0
return false
i = i + 6
return true
func main[] : I64
let found: I64 = 0
let i: I64 = 1
while 1
if is_prime(i)
if Math.is_prime(i)
found = found + 1
if found == 10001
print_i64(i)

View File

@@ -1,9 +1,3 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func char_to_i64[c: I64]: I64
return c - 48
func main[] : I64
let n: String = "7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450"
@@ -14,7 +8,7 @@ func main[] : I64
let s: I64 = 1
let j: I64 = 0
while j < 13
s = s * char_to_i64(nth(n, i + j))
s = s * Char.to_i64(nth(n, i + j))
j = j + 1
if s > out
out = s

View File

@@ -1,6 +1,3 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func main[] : I64
let a: I64 = 1
while a < 1000

View File

@@ -1,6 +1,3 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func main[] : I64
let a: I64 = 0
let b: I64 = 1

View File

@@ -1,12 +1,7 @@
func print_i64[x: I64] : I64
printf("%ld\n", x)
func I64.to_string[n: I64] : String
let x: String = malloc(21)
sprintf(x, "%ld", n)
return x
func main[] : I64
let s: String = I64.to_string(58394)
print_i64(strlen(s))
free(s)
let a: String = I64.to_string(58394)
print_i64(strlen(a))
let b: String = concat(a, "test")
print_i64(strlen(b))
free(a)
free(b)