28 lines
571 B
Bash
28 lines
571 B
Bash
#!/usr/bin/env bash
|
|
|
|
main() {
|
|
local non_cubes=()
|
|
local cubes=()
|
|
local cr=1 cube=1 i square
|
|
for (( i=1; $#non_cubes < 30; ++i )); do
|
|
(( square = i * i ))
|
|
while (( square > cube )); do
|
|
(( cr+=1, cube=cr*cr*cr ))
|
|
done
|
|
if (( square == cube )); then
|
|
cubes+=($square)
|
|
else
|
|
non_cubes+=($square)
|
|
fi
|
|
done
|
|
printf 'Squares but not cubes:\n'
|
|
printf $non_cubes[1]
|
|
printf ', %d' "${(@)non_cubes[2,-1]}"
|
|
|
|
printf '\n\nBoth squares and cubes:\n'
|
|
printf $cubes[1]
|
|
printf ', %d' "${(@)cubes[2,-1]}"
|
|
printf '\n'
|
|
}
|
|
|
|
main "$@"
|