g | x | w | all
Bytes Lang Time Link
045PARI/GP250819T190454ZCharles
013Vyxal 3250627T130910ZThemooni
007Vyxal rG231003T155618Zpacman25
013Husk201005T070927ZRazetime
102Axiom170528T054746Zuser5898
118PHP170527T202324ZJör
012Actually160818T081111ZLeaky Nu
079Python160818T063937ZDennis
017Brachylog160816T064712ZLeaky Nu
009Jelly160816T014539ZDennis
093R160815T224203Zuser5957
01105AB1E160815T204540ZEmigna

PARI/GP, 45 bytes

Simple iteration.

k->n=1;while(k,numdiv(n++)-2*omega(n)||k--);n

If you don't mind using the deprecated & for the shortcut AND operator && you can also do

k->n=1;while(k,numdiv(n++)==2*omega(n)&k--);n

Vyxal 3, 13 bytes

kNʎ℗n∆qk±≡∨}i

Vyxal It Online!

kNʎ℗n∆qk±≡∨}i­⁡​‎‎⁡⁠⁤⁡‏‏​⁡⁠⁡‌⁢​‎‎⁡⁠⁡‏⁠‎⁡⁠⁢‏‏​⁡⁠⁡‌⁣​‎‎⁡⁠⁣‏⁠‎⁡⁠⁣⁤‏‏​⁡⁠⁡‌⁤​‎‎⁡⁠⁤‏‏​⁡⁠⁡‌⁢⁡​‎‎⁡⁠⁣⁣‏‏​⁡⁠⁡‌⁢⁢​‎‎⁡⁠⁢⁡‏⁠‎⁡⁠⁢⁢‏⁠‎⁡⁠⁢⁣‏‏​⁡⁠⁡‌⁢⁣​‎‎⁡⁠⁢⁤‏⁠‎⁡⁠⁣⁡‏⁠‎⁡⁠⁣⁢‏‏​⁡⁠⁡‌­
            i  # ‎⁡index implicit input into
kN             # ‎⁢natural numbers
  ʎ        }   # ‎⁣filtered by
   ℗           # ‎⁤is it prime
          ∨    # ‎⁢⁡or
    n∆q        # ‎⁢⁢are its prime exponents
       k±≡     # ‎⁢⁣exactly equal to [1, 1]?
💎

Created with the help of Luminespire.

<script type="vyxal3">
kNʎ℗n∆qk±≡∨}i
</script>
<script>
    args=[["5"],["15"],["102"]]
</script>
<script src="https://themoonisacheese.github.io/snippeterpreter/snippet.js" type="module"/>

Vyxal rG, 56 bitsv2, 7 bytes

λ∆ǐ²∑2Ḋ;ȯ

Try it Online!

port of jelly

Husk, 13 bytes

!fö`¦2ṁo□LgpN

Try it online!

Explanation

!fö`¦2ṁo□LgpN
            N List of natural numbers
 fö           filtered by the following 4 functions:
          gp  prime factorization, grouped into equal runs
      ṁo□L    get length of each run, square and sum
   `¦2        is 2 divisible by the sum?
!             nth element in filtered list

Axiom, 102 bytes

f(n:PI):PI==(i:=1;repeat(i:=i+1;a:=divisors(i);2*#[x for x in a|prime?(x)]=#a=>(n=1=>break;n:=n-1));i)

ungolf and result

-- 1 base Indexed: return the n_th number i that has 2*#divisorsPrimeOf(i)=#divisors(i)
ff(n:PI):PI==
     i:=1
     repeat
        i:=i+1
        a:=divisors(i)
        2*#[x for x in a|prime?(x)]=#a=>(n=1=>break;n:=n-1)
     i

(3) -> [f(i)  for i in 1..23]
   (3)  [2,3,5,6,7,10,11,13,14,15,17,19,21,22,23,26,29,31,33,34,35,37,38]
                                               Type: List PositiveInteger

PHP, 118 Bytes

for($i=1;!$o=$s[$argn];$r[2]?:$t+=2*$$i=1,$t?:$s[]=$i)for($t=0,$r=[],$n=++$i;$n;$n--)$i%$n?:$t+=${$r[]=$n}?:-1;echo$o;

Try it online!

Actually, 12 bytes

All credits to Dennis for his algorithm.

`w♂N;*2%Y`╓N

Try it online!

`w♂N;*2%Y`╓N

`        `     define a function
 w             prime factorization in exponent form:
               18 = (2^1)*(3^2) becomes [[2,1],[3,2]]
  ♂N           get the last element (exponent) of each sublist
    ;*         dot-product with self; equivalent to squaring
               each item and then taking the sum
      2%Y      test divisibility by 2
          ╓    first (input) solutions to the above function
           N   get the last element.

Python, 79 bytes

f=lambda n,k=2:n<1or-~f(n-(sum((k%i<1)+2*(k%i**2<1)for i in range(2,k))<3),k+1)

Uses 1-based indexing. Test it on Ideone.

Brachylog, 17 bytes

:1yt.
1<.=$p#dl<3

Try it online!

Predicate 0 (main predicate)

:1yt.
:1y     Find the first (input) solutions of predicate 1
   t    Last element
    .   Unify with output

Predicate 1 (auxiliary predicate)

1<.=$p#dl<3
1<.            1 < output
  .=           assign a value to output
  . $p#d       output's prime factorization contains no duplicate
        l      and the length
         <3    is less than three

Jelly, 9 bytes

ÆE²Sḍ2µ#Ṫ

Reads from STDIN and uses 1-based indexing. Try it online!

How it works

ÆE²Sḍ2µ#Ṫ  Main link. No arguments. Implicit argument: 0

      µ#   Read an integer n from STDIN and execute the chain to the left for
           k = 0, 1, 2, ... until n of them return a truthy value.
           Return the array of matches.
ÆE           Compute the exponents of k's prime factorization.
  ²          Square each exponent.
   S         Compute the sum of all squares.
    ḍ2       Test if 2 is divisible by the result (true iff  the sum is 1 or 2).
        Ṫ  Tail; extract the last (n-th) matching value of k.

R, 93 Bytes

dense=function(n){a=b=0;for(i in which(!n%%1:n))if(which(!i%%2:i)+1==i)a=a+1 else b=b+1;a==b}

It has a tendency to throw a warning. Its not really a problem. Allowing the warning saves me 5 bytes.

Ungolfed

dense=function(n){
     a=b=0                                #Initializing
     factors = which(!n%%1:n)             #Finds all factors
     for(i in factors)                    #Loops through factors
         prime = which(!i%%2:i)+1==i      #Tests if current factor is prime. If it is -- the first term in this vector will be TRUE. Otherwise, it will be false.
           if (prime) a=a+1 else b=b+1    #If first term is true, add 1 to a. Else add one to b. 
      return(a==b)                        #Test equality of a and b.
}

05AB1E, 12 11 bytes

1-indexed

µ             # while counter != input
 NÑ           # get divisors of current number
   p          # check if prime
    D         # duplicate
     O        # sum one copy
      s_O     # invert and sum the other copy
         Q½   # if equal increase counter

Try it online