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>"
                }
            })
        }