Ho fatto delle piccole modifiche vedi se ora funziona meglio
Ti consiglio di utilizzare nomi di variabili in inglese ed in formato camel-case (num_cas potrebbe essere numRnd),
impara a dichiarare nel giusto modo il riferimento di un elemento, invece di scrivere :
const num = document.getElementById("num").value
scrivi:
In questo modo non perdi il riferimento su quell'elemento.
const num = document.getElementById("num")
num.value
const vis = document.getElementById("vis")
const num = document.getElementById("num")
let num_cas = null
let num_fis = null
let arr = []
function azzera() {
vis.innerHTML = ""
arr = []
for (let i = 0; i < 100; i++) {
num_cas = Math.floor(Math.random() * 50) + 1
arr.includes(num_cas) ? null : arr.push(num_cas)
}
arr.sort((a, b) => a - b).forEach(v => {
num_fis = v
if (num_fis % num.value) {
return
} else {
vis.innerHTML += num_fis + "<br>"
}
})
}