Semiprime: Difference between revisions

no edit summary
(Frink)
No edit summary
Line 1,193:
1679 is semi-prime
1680 isn't semi-prime
</pre>
 
=={{header|Ksh}}==
<lang ksh>
#!/bin/ksh
 
# Semiprime - As translated from C
 
# # Variables:
#
 
# # Functions:
#
# Function _issemiprime(p2) - return 1 if p2 semiprime, 0 if not
#
function _issemiprime {
typeset _p2 ; integer _p2=$1
typeset _p _f ; integer _p _f=0
 
for ((_p=2; (_f<2 && _p*_p<=_p2); _p++)); do
while (( _p2 % _p == 0 )); do
(( _p2 /= _p ))
(( _f++ ))
done
done
 
return $(( _f + (_p2 > 1) == 2 ))
}
 
######
# main #
######
 
integer i
for ((i=2; i<100; i++)); do
_issemiprime ${i}
(( $? )) && printf " %d" ${i}
done
echo
</lang>
{{out}}<pre>
4 6 9 10 14 15 21 22 25 26 33 34 35 38 39 46 49 51 55 57 58 62 65 69 74 77 82 85 86 87 91 93 94 95
</pre>
 
70

edits