Look and say sequence (C Plus Plus)
From LiteratePrograms
- Other implementations: C++ | dc | Eiffel | Haskell | J | Java | Lua | OCaml | Perl | PHP | Python | Ruby | Scala | sed | sh
This program is a code dump.
Code dumps are articles with little or no documentation or rearrangement of code. Please help to turn it into a literate program. Also make sure that the source of this code does consent to release it under the MIT or public domain license.
This is a simple C++ program to generate look-and-say sequences such as the Conway sequence.
<<look_and_say_sequence.cpp>>= #include<string> #include<vector> #include<iostream> #include<sstream> std::vector<std::string> look_and_say(const std::string &seed, size_t len) { std::vector<std::string> seq; seq.push_back(seed); for(size_t i=1; i<len; ++i) { const std::string &val(seq.back()); std::ostringstream nextval; for(size_t ix=0; ix<val.size(); ) { char ch(val[ix]); size_t n(1); while(++ix<val.size() && val[ix]==ch) ++n; nextval<<n<<ch; } seq.push_back(nextval.str()); } return seq; } int main() { std::vector<std::string> seq(look_and_say("3", 10)); for(size_t i=0; i<seq.size(); ++i) { if(i) std::cout<<", "; std::cout<<seq[i]; } std::cout<<'\n'; return 0; }
Download code |