Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.45 KB | None | 0 0
  1. tcl proc ifactor {n} {set a 0;if {[expr $n%2]==0} {set f 2;set g [expr $n/2]} {set b [expr int(sqrt(2*$n))];set s [expr $b*($b+1)/2];if {$s>$n} {set s [expr $s-$b];incr b -1};while {$s<$n && $b<$n} {incr b;incr s $b;while {$s>$n && $a<$b} {incr s -$a;incr a}};set f [expr $b-$a+1];set g [expr $a+$b];if {[expr $f%2]==0} {set f [expr $f/2]} {set g [expr $g/2]}};if {$f>$g} {set h $f;set f $g;set g $h};if {$f==1} {return $g} {return "[ifactor $f] [ifactor $g]"}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement