Square-free integers: Difference between revisions

Content added Content deleted
m (→‎{{header|zkl}}: remove dumb ass peanut gallery comment)
(Undo revision 264772 by Dijkstra (talk) Undo content free, pointless update)
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 13 ⟶ 15:
::*   '''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 22 ⟶ 26:
::*   '''1'''   ───►   one hundred thousand     (inclusive)
::*   '''1'''   ───►   one million     (inclusive)
 
 
;See also:
Line 29 ⟶ 34:
=={{header|C}}==
{{trans|Go}}
{{improve|C|[https://en.wikipedia.org/wiki/Considered_harmful Considered harmful]}}
<lang c>#include <stdio.h>
#include <stdlib.h>
Line 125 ⟶ 129:
return 0;
}</lang>
 
{{out}}
<pre>
<pre>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 158 ⟶ 164:
from 1 to 10000 = 6083
from 1 to 100000 = 60794
from 1 to 1000000 = 607926</pre>
</pre>
 
=={{header|Factor}}==
Line 185 ⟶ 192:
2 6 [a,b] [ 10 swap ^ ] map [ sq-free-count ] each ! part 2</lang>
{{out}}
<pre>
<pre>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 216 ⟶ 224:
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>
</pre>
 
=={{header|Go}}==
{{improve|C|[https://en.wikipedia.org/wiki/Considered_harmful Considered harmful]}}
<lang go>package main
 
Line 303 ⟶ 311:
fmt.Printf(" from %d to %d = %d\n", 1, 1000000, len(squareFree(1, 1000000)))
}</lang>
 
{{out}}
<pre>
<pre>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 337 ⟶ 347:
from 1 to 10000 = 6083
from 1 to 100000 = 60794
from 1 to 1000000 = 607926</pre>
</pre>
 
=={{header|Java}}==
{{improve|C|[https://en.wikipedia.org/wiki/Considered_harmful Considered harmful]}}
{{trans|Go}}
<lang java>import java.util.ArrayList;
Line 411 ⟶ 421:
}
}</lang>
 
{{out}}
<pre>
<pre>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 445 ⟶ 457:
from 1 to 10000 = 6083
from 1 to 100000 = 60794
from 1 to 1000000 = 607926</pre>
</pre>
 
=={{header|Kotlin}}==
{{improve|C|[https://en.wikipedia.org/wiki/Considered_harmful Considered harmful]}}
{{trans|Go}}
<lang scala>// Version 1.2.50
Line 516 ⟶ 528:
System.out.printf(" from %d to %d = %d\n", 1, 1000000, squareFree(1, 1000000).size)
}</lang>
 
{{out}}
<pre>
<pre>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 550 ⟶ 564:
from 1 to 10000 = 6083
from 1 to 100000 = 60794
from 1 to 1000000 = 607926</pre>
</pre>
 
=={{header|Perl 6}}==
Line 666 ⟶ 681:
This REXX program makes use of &nbsp; '''linesize''' &nbsp; REXX program (or BIF) &nbsp; which is used to determine the screen width (or linesize) of the terminal (console); &nbsp; not all REXXes have this BIF.
 
The &nbsp; '''LINESIZE.REX''' &nbsp; REXX program is included here &nbsp; ──► &nbsp; [[LINESIZE.REX]]. <br>
 
 
{{out|output|text=&nbsp; when using the default input:}}
 
(Shown at three-quarter size.)
<pre style="font-size:75%">
<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
851 862 873 895 916 937 9410 9511 9713 10114 10215 10317 10519 10621 10722 10923 11026 11129 11330 11431 11533 11834 11935 12237 12338 12739 12941 13042 13143 13346 13447 13751 13853 13955 14157 14258 14359 145</pre>61 62 65 66 67 69 70 71 73 74 77 78 79 82 83
85 86 87 89 91 93 94 95 97 101 102 103 105 106 107 109 110 111 113 114 115 118 119 122 123 127 129 130 131 133 134 137 138 139 141 142 143 145
</pre>
{{out|output|text=&nbsp; when using the input of: &nbsp; &nbsp; <tt> 1000000000000 &nbsp; 1000000000145 </tt>}}
 
Line 685 ⟶ 703:
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>
</pre>
{{out|output|text=&nbsp; when using the (separate runs) inputs of: &nbsp; &nbsp; <tt> 1 &nbsp; -100 </tt> &nbsp; (and others)
<pre>
<pre>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 695 ⟶ 715:
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>
</pre>
 
=={{header|zkl}}==
Line 754 ⟶ 775:
1000000000122 1000000000123 1000000000126 1000000000127 1000000000129
1000000000130 1000000000133 1000000000135 1000000000137 1000000000138
1000000000139 1000000000141 1000000000142 1000000000145</pre>
</pre>
 
<lang zkl>n:=100; do(5){
Line 762 ⟶ 784:
}</lang>
{{out}}
<pre>
<pre> 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>
</pre>