Update all new Tasks
This commit is contained in:
parent
00a190b0a6
commit
91df62d461
5697 changed files with 93386 additions and 804 deletions
24
Task/Semiprime/Tcl/semiprime.tcl
Normal file
24
Task/Semiprime/Tcl/semiprime.tcl
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
package require math::numtheory
|
||||
|
||||
proc isSemiprime n {
|
||||
if {!($n & 1)} {
|
||||
return [::math::numtheory::isprime [expr {$n >> 1}]]
|
||||
}
|
||||
for {set i 3} {$i*$i < $n} {incr i 2} {
|
||||
if {$n / $i * $i != $n && [::math::numtheory::isprime $i]} {
|
||||
if {[::math::numtheory::isprime [expr {$n/$i}]]} {
|
||||
return 1
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
for {set n 1675} {$n <= 1680} {incr n} {
|
||||
puts -nonewline "$n is ... "
|
||||
if {[isSemiprime $n]} {
|
||||
puts "a semiprime"
|
||||
} else {
|
||||
puts "NOT a semiprime"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue