Numbers with equal rises and falls: Difference between revisions
Content added Content deleted
Catskill549 (talk | contribs) |
Not a robot (talk | contribs) (Add Cowgol) |
||
Line 420: | Line 420: | ||
The 10,000,000th number is: 41909002</pre> |
The 10,000,000th number is: 41909002</pre> |
||
=={{header|Cowgol}}== |
|||
<lang cowgol>include "cowgol.coh"; |
|||
# return the change in height of a number |
|||
sub height(n: uint32): (h: int8) is |
|||
h := 0; |
|||
var dgt := (n % 10) as uint8; |
|||
var prev: uint8; |
|||
n := n / 10; |
|||
while n > 0 loop |
|||
prev := dgt; |
|||
dgt := (n % 10) as uint8; |
|||
n := n / 10; |
|||
if prev < dgt then |
|||
h := h + 1; |
|||
elseif prev > dgt then |
|||
h := h - 1; |
|||
end if; |
|||
end loop; |
|||
end sub; |
|||
var number: uint32 := 0; |
|||
var seen: uint32 := 0; |
|||
var col: uint8 := 10; |
|||
print("The first 200 numbers are:"); |
|||
print_nl(); |
|||
while seen < 10000000 loop |
|||
loop |
|||
number := number + 1; |
|||
if height(number) == 0 then break; end if; |
|||
end loop; |
|||
seen := seen + 1; |
|||
if seen <= 200 then |
|||
print_i32(number); |
|||
col := col - 1; |
|||
if col != 0 then |
|||
print_char('\t'); |
|||
else |
|||
print_char('\n'); |
|||
col := 10; |
|||
end if; |
|||
end if; |
|||
end loop; |
|||
print_nl(); |
|||
print("The 10,000,000th number is: "); |
|||
print_i32(number); |
|||
print_nl();</lang> |
|||
{{out}} |
|||
<pre>The first 200 numbers are: |
|||
1 2 3 4 5 6 7 8 9 11 |
|||
22 33 44 55 66 77 88 99 101 102 |
|||
103 104 105 106 107 108 109 111 120 121 |
|||
130 131 132 140 141 142 143 150 151 152 |
|||
153 154 160 161 162 163 164 165 170 171 |
|||
172 173 174 175 176 180 181 182 183 184 |
|||
185 186 187 190 191 192 193 194 195 196 |
|||
197 198 201 202 203 204 205 206 207 208 |
|||
209 212 213 214 215 216 217 218 219 222 |
|||
230 231 232 240 241 242 243 250 251 252 |
|||
253 254 260 261 262 263 264 265 270 271 |
|||
272 273 274 275 276 280 281 282 283 284 |
|||
285 286 287 290 291 292 293 294 295 296 |
|||
297 298 301 302 303 304 305 306 307 308 |
|||
309 312 313 314 315 316 317 318 319 323 |
|||
324 325 326 327 328 329 333 340 341 342 |
|||
343 350 351 352 353 354 360 361 362 363 |
|||
364 365 370 371 372 373 374 375 376 380 |
|||
381 382 383 384 385 386 387 390 391 392 |
|||
393 394 395 396 397 398 401 402 403 404 |
|||
The 10,000,000th number is: 41909002 |
|||
</pre> |
|||
=={{header|F_Sharp|F#}}== |
=={{header|F_Sharp|F#}}== |
||
<lang fsharp> |
<lang fsharp> |