Merge pull request 'Publish Other Language Files' (#1) from dev into main

Reviewed-on: #1
This commit is contained in:
Hyperling 2025-01-04 09:07:34 -07:00
commit 5617a4e9ec
7 changed files with 132 additions and 1 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.jar

2
README.md Normal file → Executable file
View File

@ -14,10 +14,10 @@ Project only takes into consideration the USA's cent system.
Completed:
- PHP
- Kotlin
Planned:
- Kotlin
- Bash
- Python
- Node.js

15
kotlin_compiled.sh Executable file
View File

@ -0,0 +1,15 @@
#!/usr/bin/env bash
# 2024-03-30 Hyperling
# Compile the .kt file and run the compiled binary.
# Move to the file location.
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
cd $DIR
# Compile the script.
kotlinc spare_change.kt -include-runtime -d spare_change.kt.jar
# Run the executable.
chmod 755 ./spare_change.kt.jar
java -jar spare_change.kt.jar
rm -rfv ./spare_change.kt.jar

10
kotlin_scripted.sh Executable file
View File

@ -0,0 +1,10 @@
#!/usr/bin/env bash
# 2024-03-30 Hyperling
# Run the program as a shell language.
# Move to the file location.
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
cd $DIR
# Run the program.
kotlinc -script ./spare_change.kts

54
spare_change.kt Executable file
View File

@ -0,0 +1,54 @@
/*
// 2024-03-30 Hyperling
// Creating a Kotlin version which needs compiled then run.
*/
fun main() {
var pennies: Int
var nickels: Int
var dimes: Int
var quarters: Int
var maxPennies: Int = 0
var maxNickels: Int = 0
var maxDimes: Int = 0
var maxQuarters: Int = 0
println("Got any spare change?")
for (change in 1..99) {
quarters = change / 25
var remainder = change % 25
dimes = remainder / 10
remainder = remainder % 10
nickels = remainder / 5
remainder = remainder % 5
pennies = remainder / 1
if (quarters > maxQuarters) {
maxQuarters = quarters
println("Change ${change}c required $maxQuarters quarter(s).")
}
if (dimes > maxDimes) {
maxDimes = dimes
println("Change ${change}c required $maxDimes dime(s).")
}
if (nickels > maxNickels) {
maxNickels = nickels
println("Change ${change}c required $maxNickels nickel(s).")
}
if (pennies > maxPennies) {
maxPennies = pennies
println("Change ${change}c required $maxPennies penny(ies).")
}
}
print("The optimum amount is $maxQuarters quarter(s), $maxDimes dime(s)")
println(", $maxNickels nickel(s), and $maxPennies pennies.")
}

51
spare_change.kts Executable file
View File

@ -0,0 +1,51 @@
/*
// 2024-03-30 Hyperling
// Creating a Kotlin version which can be run via command line.
*/
var pennies = 0
var nickels = 0
var dimes = 0
var quarters = 0
var maxPennies = 0
var maxNickels = 0
var maxDimes = 0
var maxQuarters = 0
println("Got any spare change?")
for (change in 1..99) {
quarters = change / 25
var remainder = change % 25
dimes = remainder / 10
remainder = remainder % 10
nickels = remainder / 5
remainder = remainder % 5
pennies = remainder / 1
if (quarters > maxQuarters) {
maxQuarters = quarters
println("Change ${change}c required $maxQuarters quarter(s).")
}
if (dimes > maxDimes) {
maxDimes = dimes
println("Change ${change}c required $maxDimes dime(s).")
}
if (nickels > maxNickels) {
maxNickels = nickels
println("Change ${change}c required $maxNickels nickel(s).")
}
if (pennies > maxPennies) {
maxPennies = pennies
println("Change ${change}c required $maxPennies penny(ies).")
}
}
print("The optimum amount is $maxQuarters quarter(s), $maxDimes dime(s)")
println(", $maxNickels nickel(s), and $maxPennies pennies.")