Strange numbers: Difference between revisions
Content added Content deleted
(Added PL/0) |
|||
Line 2,045: | Line 2,045: | ||
Total 28-digit strange numbers: 9,023,647,681,353,485,161 |
Total 28-digit strange numbers: 9,023,647,681,353,485,161 |
||
(0.0s) |
(0.0s) |
||
</pre> |
|||
=={{header|PL/0}}== |
|||
PL/0 can only output 1 value per line, so the output has been manually adjusted to show multiple values per line to save space. |
|||
<syntaxhighlight lang="pascal"> |
|||
var n, v, d1, d2, diff, strange; |
|||
begin |
|||
n := 100; |
|||
while n < 499 do begin |
|||
n := n + 1; |
|||
d1 := n - ( ( n / 10 ) * 10 ); |
|||
v := n / 10; |
|||
strange := 1; |
|||
while strange * v > 0 do begin |
|||
d2 := v - ( ( v / 10 ) * 10 ); |
|||
v := v / 10; |
|||
strange := 0; |
|||
diff := d1 - d2; |
|||
if diff < 0 then diff := - diff; |
|||
d1 := d2; |
|||
if diff = 2 then strange := 1; |
|||
if diff = 3 then strange := 1; |
|||
if diff = 5 then strange := 1; |
|||
if diff = 7 then strange := 1; |
|||
end; |
|||
if strange = 1 then ! n |
|||
end |
|||
end. |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
130 131 135 136 138 141 142 146 147 149 |
|||
161 163 164 168 169 181 183 185 186 202 |
|||
203 205 207 241 242 246 247 249 250 252 |
|||
253 257 258 270 272 274 275 279 292 294 |
|||
296 297 302 303 305 307 313 314 316 318 |
|||
350 352 353 357 358 361 363 364 368 369 |
|||
381 383 385 386 413 414 416 418 420 424 |
|||
425 427 429 461 463 464 468 469 470 472 |
|||
474 475 479 492 494 496 497 |
|||
</pre> |
</pre> |
||