33 lines
988 B
Bash
33 lines
988 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
maxint=9223372036854775807
|
||
|
root=3037000499
|
||
|
destination=4294967295
|
||
|
|
||
|
rm -f prime.list
|
||
|
|
||
|
SECONDS=0
|
||
|
n=0
|
||
|
|
||
|
echo "Counting number of primes..."
|
||
|
size=$(cat source.list | wc -l)
|
||
|
|
||
|
echo "00000001 1" >> prime.list
|
||
|
|
||
|
while read -r prime; do
|
||
|
hex=$(printf "%08X" "${prime:0:-1}")
|
||
|
echo "$hex $prime" >> prime.list
|
||
|
if [[ $((n%100)) == 0 ]]; then
|
||
|
clear
|
||
|
rate=$((SECONDS*1000000/(n+1)))
|
||
|
estsec=$((rate*size/1000000))
|
||
|
remsec=$((estsec-SECONDS))
|
||
|
echo "Running Time: $((SECONDS/86400)) days, $(((SECONDS%86400)/3600)) hours, $(((SECONDS%3600)/60)) minutes and $(((SECONDS%60))) seconds..."
|
||
|
echo "Remaining Time: $((remsec/86400)) days, $(((remsec%86400)/3600)) hours, $(((remsec%3600)/60)) minutes and $(((remsec%60))) seconds..."
|
||
|
echo "Processed $n of $size PRIME numbers at an average rate of $((n/(SECONDS+1))) per second..."
|
||
|
echo "Latest Prime Number: $prime"
|
||
|
echo "Destination Number: $destination [$((n*100/size)) %]"
|
||
|
fi
|
||
|
((n++))
|
||
|
done < source.list
|