29 lines
710 B
Awk
29 lines
710 B
Awk
# syntax: GAWK -f LOOPS_WITH_MULTIPLE_RANGES.AWK
|
|
BEGIN {
|
|
prod = 1
|
|
sum = 0
|
|
x = 5
|
|
y = -5
|
|
z = -2
|
|
one = 1
|
|
three = 3
|
|
seven = 7
|
|
for (j=-three; j<=(3^3); j+=three) { main(j) }
|
|
for (j=-seven; j<=seven; j+=x) { main(j) }
|
|
for (j=555; j<=550-y; j++) { main(j) }
|
|
for (j=22; j>=-28; j+=-three) { main(j) }
|
|
for (j=1927; j<=1939; j++) { main(j) }
|
|
for (j=x; j>=y; j+=z) { main(j) }
|
|
for (j=(11^x); j<=(11^x)+1; j++) { main(j) }
|
|
printf("sum = %d\n",sum)
|
|
printf("prod = %d\n",prod)
|
|
exit(0)
|
|
}
|
|
function main(x) {
|
|
sum += abs(x)
|
|
if (abs(prod) < (2^27) && x != 0) {
|
|
prod *= x
|
|
}
|
|
}
|
|
function abs(x) { if (x >= 0) { return x } else { return -x } }
|