Product of min and max prime factors: Difference between revisions
Content added Content deleted
m (→{{header|jq}}) |
(Added XPL0 example.) |
||
Line 568: | Line 568: | ||
9 82 6889 14 85 86 87 22 7921 10 |
9 82 6889 14 85 86 87 22 7921 10 |
||
91 46 93 94 95 6 9409 14 33 10 |
91 46 93 94 95 6 9409 14 33 10 |
||
</pre> |
|||
=={{header|XPL0}}== |
|||
{{trans|C++}} |
|||
<syntaxhighlight lang "XPL0">func MinMaxPrimeFactors(N); |
|||
int N, Min, Max, P; \(Min and Max must be in order shown) |
|||
[Min:= 1; Max:= 1; |
|||
if (N&1) = 0 then |
|||
[while (N&1) = 0 do |
|||
N:= N>>1; |
|||
Min:= 2; |
|||
Max:= 2; |
|||
]; |
|||
P:= 3; |
|||
while P*P <= N do |
|||
[if rem(N/P) = 0 then |
|||
[while rem(N/P) = 0 do |
|||
N:= N/P; |
|||
if Min = 1 then |
|||
Min:= P; |
|||
Max:= P; |
|||
]; |
|||
P:= P+2; |
|||
]; |
|||
if N > 1 then |
|||
[if Min = 1 then |
|||
Min:= N; |
|||
Max:= N; |
|||
]; |
|||
return @Min; |
|||
]; |
|||
int N, P; |
|||
[Text(0, "Product of smallest and greatest prime factors of N for 1 to 100:^m^j"); |
|||
Format(5, 0); |
|||
for N:= 1 to 100 do |
|||
[P:= MinMaxPrimeFactors(N); |
|||
RlOut(0, float(P(0)*P(1))); |
|||
if rem(N/10) = 0 then CrLf(0); |
|||
] |
|||
]</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
Product of smallest and greatest prime factors of N for 1 to 100: |
|||
1 4 9 4 25 6 49 4 9 10 |
|||
121 6 169 14 15 4 289 6 361 10 |
|||
21 22 529 6 25 26 9 14 841 10 |
|||
961 4 33 34 35 6 1369 38 39 10 |
|||
1681 14 1849 22 15 46 2209 6 49 10 |
|||
51 26 2809 6 55 14 57 58 3481 10 |
|||
3721 62 21 4 65 22 4489 34 69 14 |
|||
5041 6 5329 74 15 38 77 26 6241 10 |
|||
9 82 6889 14 85 86 87 22 7921 10 |
|||
91 46 93 94 95 6 9409 14 33 10 |
|||
</pre> |
</pre> |