Anonymous user
Square-free integers: Difference between revisions
Know Your Classics!
m (→{{header|zkl}}: unoppsify) |
(Know Your Classics!) |
||
Line 1:
{{draft task}}
;Task:
Write a function to test if a number is ''square-free''.
A ''square-free'' is an integer which is divisible by no perfect square other
Line 15 ⟶ 13:
::* '''1''' ───► '''145''' (inclusive)
::* '''1''' trillion ───► '''1''' trillion + '''145''' (inclusive)
(One trillion = 1,000,000,000,000)
Show here (on this page) the count of square-free integers from:
Line 26 ⟶ 22:
::* '''1''' ───► one hundred thousand (inclusive)
::* '''1''' ───► one million (inclusive)
;See also:
Line 34 ⟶ 29:
=={{header|C}}==
{{trans|Go}}
{{improve|C|[https://en.wikipedia.org/wiki/Considered_harmful Considered harmful]}}
<lang c>#include <stdio.h>
#include <stdlib.h>
Line 129 ⟶ 125:
return 0;
}</lang>
{{out}}
<pre>Square-free integers from 1 to 145:▼
▲Square-free integers from 1 to 145:
1 2 3 5 6 7 10 11 13 14 15 17 19 21 22 23 26 29 30 31
33 34 35 37 38 39 41 42 43 46 47 51 53 55 57 58 59 61 62 65
Line 164 ⟶ 158:
from 1 to 10000 = 6083
from 1 to 100000 = 60794
from 1 to 1000000 = 607926</pre>
=={{header|Factor}}==
Line 192 ⟶ 185:
2 6 [a,b] [ 10 swap ^ ] map [ sq-free-count ] each ! part 2</lang>
{{out}}
<pre>Square-free integers from 1 to 145:▼
▲Square-free integers from 1 to 145:
1 2 3 5 6 7 10 11 13 14 15 17 19 21 22 23 26 29 30 31
33 34 35 37 38 39 41 42 43 46 47 51 53 55 57 58 59 61 62 65
Line 224 ⟶ 216:
6083 square-free integers from 1 to 10000
60794 square-free integers from 1 to 100000
607926 square-free integers from 1 to 1000000</pre>
=={{header|Go}}==
{{improve|C|[https://en.wikipedia.org/wiki/Considered_harmful Considered harmful]}}
<lang go>package main
Line 311 ⟶ 303:
fmt.Printf(" from %d to %d = %d\n", 1, 1000000, len(squareFree(1, 1000000)))
}</lang>
{{out}}
<pre>Square-free integers from 1 to 145:▼
▲Square-free integers from 1 to 145:
1 2 3 5 6 7 10 11 13 14 15 17 19 21 22 23 26 29 30 31
33 34 35 37 38 39 41 42 43 46 47 51 53 55 57 58 59 61 62 65
Line 347 ⟶ 337:
from 1 to 10000 = 6083
from 1 to 100000 = 60794
from 1 to 1000000 = 607926</pre>
=={{header|Java}}==
{{improve|C|[https://en.wikipedia.org/wiki/Considered_harmful Considered harmful]}}
{{trans|Go}}
<lang java>import java.util.ArrayList;
Line 421 ⟶ 411:
}
}</lang>
{{out}}
<pre>Square-free integers from 1 to 145:▼
▲Square-free integers from 1 to 145:
1 2 3 5 6 7 10 11 13 14 15 17 19 21 22 23 26 29 30 31
33 34 35 37 38 39 41 42 43 46 47 51 53 55 57 58 59 61 62 65
Line 457 ⟶ 445:
from 1 to 10000 = 6083
from 1 to 100000 = 60794
from 1 to 1000000 = 607926</pre>
=={{header|Kotlin}}
{{improve|C|[https://en.wikipedia.org/wiki/Considered_harmful Considered harmful]}}
{{trans|Go}}
<lang scala>// Version 1.2.50
Line 528 ⟶ 516:
System.out.printf(" from %d to %d = %d\n", 1, 1000000, squareFree(1, 1000000).size)
}</lang>
{{out}}
<pre>Square-free integers from 1 to 145:▼
▲Square-free integers from 1 to 145:
1 2 3 5 6 7 10 11 13 14 15 17 19 21 22 23 26 29 30 31
33 34 35 37 38 39 41 42 43 46 47 51 53 55 57 58 59 61 62 65
Line 564 ⟶ 550:
from 1 to 10000 = 6083
from 1 to 100000 = 60794
from 1 to 1000000 = 607926</pre>
=={{header|Perl 6}}==
Line 681 ⟶ 666:
This REXX program makes use of '''linesize''' REXX program (or BIF) which is used to determine the screen width (or linesize) of the terminal (console); not all REXXes have this BIF.
The '''LINESIZE.REX''' REXX program is included here ──► [[LINESIZE.REX]].
{{out|output|text= when using the default input:}}
(Shown at three-quarter size.)
<pre style="font-size:75%">1 2 3 5 6 7 10 11 13 14 15 17 19 21 22 23 26 29 30 31 33 34 35 37 38 39 41 42 43 46 47 51 53 55 57 58 59 61 62 65 66 67 69 70 71 73 74 77 78 79 82 83
{{out|output|text= when using the input of: <tt> 1000000000000 1000000000145 </tt>}}
Line 703 ⟶ 685:
1000000000099 1000000000101 1000000000102 1000000000103 1000000000105 1000000000106 1000000000109 1000000000111 1000000000113 1000000000114
1000000000115 1000000000117 1000000000118 1000000000119 1000000000121 1000000000122 1000000000123 1000000000126 1000000000127 1000000000129
1000000000130 1000000000133 1000000000135 1000000000137 1000000000138 1000000000139 1000000000141 1000000000142 1000000000145</pre>
{{out|output|text= when using the (separate runs) inputs of: <tt> 1 -100 </tt> (and others)
<pre>The number of square─free numbers between 1 and 100 (inclusive) is: 61▼
▲The number of square─free numbers between 1 and 100 (inclusive) is: 61
The number of square─free numbers between 1 and 1000 (inclusive) is: 608
Line 715 ⟶ 695:
The number of square─free numbers between 1 and 100000 (inclusive) is: 60794
The number of square─free numbers between 1 and 1000000 (inclusive) is: 607926</pre>
=={{header|zkl}}==
{{improve|C|[https://en.wikipedia.org/wiki/Considered_harmful Considered harmful]}}
<lang zkl>const Limit=1 + (1e12 + 145).sqrt(); // 1000001 because it fits this task
var [const]
Line 775 ⟶ 755:
1000000000122 1000000000123 1000000000126 1000000000127 1000000000129
1000000000130 1000000000133 1000000000135 1000000000137 1000000000138
1000000000139 1000000000141 1000000000142 1000000000145</pre>
<lang zkl>n:=100; do(5){
Line 784 ⟶ 763:
}</lang>
{{out}}
<pre> 61 square-free integers from 1 to 100▼
▲ 61 square-free integers from 1 to 100
608 square-free integers from 1 to 1,000
6,083 square-free integers from 1 to 10,000
60,794 square-free integers from 1 to 100,000
607,926 square-free integers from 1 to 1,000,000</pre>
|