Giuga numbers: Difference between revisions

added AWK
(Added second C++ solution)
(added AWK)
Line 26:
 
 
=={{header|AWK}}==
<lang AWK>
# syntax: GAWK -f GIUGA_NUMBER.AWK
BEGIN {
n = 3
stop = 4
printf("Giuga numbers 1-%d:",stop)
while (count < stop) {
if (is_giuga(n)) {
count++
printf(" %d",n)
}
n++
}
printf("\n")
exit(0)
}
function is_giuga(m, f,l,n) {
n = m
f = 2
l = sqrt(n)
while (1) {
if (n % f == 0) {
if (((m / f) - 1) % f != 0) { return(0) }
n /= f
if (f > n) { return(1) }
}
else {
if (++f > l) { return(0) }
}
}
}
</lang>
{{out}}
<pre>
Giuga numbers 1-4: 30 858 1722 66198
</pre>
=={{header|C++}}==
===Brute force===
477

edits