Numbers with equal rises and falls: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add CLU) |
(Added XPL0 example.) |
||
Line 1,996: | Line 1,996: | ||
The 10 millionth number in the sequence is 41,909,002. |
The 10 millionth number in the sequence is 41,909,002. |
||
</pre> |
|||
=={{header|XPL0}}== |
|||
<lang XPL0>func RiseFall(N); \Return 'true' if N has equal rises and falls |
|||
int N, R, F, D, D0; |
|||
[R:= 0; F:= 0; |
|||
N:= N/10; |
|||
D0:= rem(0); |
|||
while N do |
|||
[N:= N/10; |
|||
D:= rem(0); |
|||
if D > D0 then R:= R+1; |
|||
if D < D0 then F:= F+1; |
|||
D0:= D; |
|||
]; |
|||
return R = F; |
|||
]; |
|||
int N, Cnt; |
|||
[N:= 1; |
|||
Cnt:= 0; |
|||
loop [if RiseFall(N) then |
|||
[Cnt:= Cnt+1; |
|||
if Cnt <= 200 then |
|||
[IntOut(0, N); |
|||
if rem (Cnt/10) = 0 then CrLf(0) |
|||
else ChOut(0, 9\tab\); |
|||
]; |
|||
if Cnt = 10_000_000 then |
|||
[Text(0, "10 millionth number is "); |
|||
IntOut(0, N); CrLf(0); |
|||
quit; |
|||
]; |
|||
]; |
|||
N:= N+1; |
|||
]; |
|||
]</lang> |
|||
{{out}} |
|||
<pre> |
|||
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 |
|||
10 millionth number is 41909002 |
|||
</pre> |
</pre> |