Jump to content

Cullen and Woodall numbers: Difference between revisions

New post.
m (Added language identifier.)
(New post.)
Line 514:
<pre>Igual que la entrada de FreeBASIC.</pre>
 
=={{header|C++}}==
<syntaxhighlight lang="c++">
#include <cstdint>
#include <iostream>
#include <string>
 
uint32_t number, power;
 
void number_initialise() {
number = 0;
power = 1;
}
 
enum NumberType { Cullen, Woodhall };
 
uint32_t next_number(NumberType number_type) {
number += 1;
power <<= 1;
switch ( number_type ) {
case Cullen: return number * power + 1;
case Woodhall: return number * power - 1;
};
return 0;
}
 
void number_sequence(uint32_t count, NumberType number_type) {
std::string type = ( number_type == Cullen ) ? "Cullen" : "Woodhall";
std::cout << "The first " << count << " " << type << " numbers are:" << std::endl;
number_initialise();
for ( uint32_t index = 1; index <= count; ++index ) {
std::cout << next_number(number_type) << " ";
}
std::cout << std::endl << std::endl;
}
 
int main() {
number_sequence(20, Cullen);
number_sequence(20, Woodhall);
}
</syntaxhighight>
{{ out }}
<pre>
The first 20 Cullen numbers are:
3 9 25 65 161 385 897 2049 4609 10241 22529 49153 106497 229377 491521 1048577 2228225 4718593 9961473 20971521
 
The first 20 Woodhall numbers are:
1 7 23 63 159 383 895 2047 4607 10239 22527 49151 106495 229375 491519 1048575 2228223 4718591 9961471 20971519
</pre>
 
=={{header|Delphi}}==
921

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.