How to resolve the algorithm Square-free integers step by step in the J programming language

Published on 12 May 2024 09:40 PM
#J

How to resolve the algorithm Square-free integers step by step in the J programming language

Table of Contents

Problem Statement

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 than   1   (unity). For this task, only positive square-free numbers will be used.

Show here (on this page) all square-free integers (in a horizontal format) that are between:

(One trillion = 1,000,000,000,000)

Show here (on this page) the count of square-free integers from:

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Square-free integers step by step in the J programming language

Source code in the j programming language

isSqrFree=: (#@~. = #)@q:   NB. are there no duplicates in the prime factors of a number?
filter=: adverb def ' #~ u' NB. filter right arg using verb to left
countSqrFree=: +/@:isSqrFree
thru=: <. + i.@(+ *)@-~     NB. helper verb


   isSqrFree filter 1 thru 145   NB. returns all results, but not all are displayed
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 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...
   100 list isSqrFree filter 1000000000000 thru 1000000000145  NB. ensure that all results are displayed
1000000000001 1000000000002 1000000000003 1000000000005 1000000000006 1000000000007 1000000000009
1000000000011 1000000000013 1000000000014 1000000000015 1000000000018 1000000000019 1000000000021
1000000000022 1000000000023 1000000000027 1000000000029 1000000000030 1000000000031 1000000000033
1000000000037 1000000000038 1000000000039 1000000000041 1000000000042 1000000000043 1000000000045
1000000000046 1000000000047 1000000000049 1000000000051 1000000000054 1000000000055 1000000000057
1000000000058 1000000000059 1000000000061 1000000000063 1000000000065 1000000000066 1000000000067
1000000000069 1000000000070 1000000000073 1000000000074 1000000000077 1000000000078 1000000000079
1000000000081 1000000000082 1000000000085 1000000000086 1000000000087 1000000000090 1000000000091
1000000000093 1000000000094 1000000000095 1000000000097 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
   countSqrFree 1 thru 100
61
   countSqrFree 1 thru 1000
608
   1 countSqrFree@thru&> 10 ^ 2 3 4 5 6  NB. count square free ints for 1 to each of 100, 1000, 10000, 10000, 100000 and 1000000
61 608 6083 60794 607926


  

You may also check:How to resolve the algorithm Verhoeff algorithm step by step in the Python programming language
You may also check:How to resolve the algorithm Function definition step by step in the langur programming language
You may also check:How to resolve the algorithm JSON step by step in the OpenEdge/Progress programming language
You may also check:How to resolve the algorithm Stack traces step by step in the REXX programming language
You may also check:How to resolve the algorithm Sum of squares step by step in the Maxima programming language