Advertisement
JosepRivaille

P46736: Nombres de Hamming

Apr 6th, 2015
716
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.60 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5. bool es_de_hamming(int x) {
  6.     if (x== 1) return true;
  7.     else if (x%2 == 0) return es_de_hamming(x/2);
  8.     else if (x%3 == 0) return es_de_hamming(x/3);
  9.     else if (x%5 == 0) return es_de_hamming(x/5);
  10.     else return false;
  11. }
  12.  
  13. //Pre: Llegeix una seqΓΌΓ¨ncia de naturals
  14. //Post: Per cada n escriu els n primers nombres de Hamming
  15. int main() {
  16.     int n;
  17.     while (cin >> n) {
  18.         if (n > 0) {
  19.             int i = 1;
  20.             cout << i;
  21.             --n;
  22.             ++i;
  23.             while (n > 0) {
  24.                 if (es_de_hamming(i)) {
  25.                     cout << ',' << i;
  26.                     --n;
  27.                 }
  28.                 ++i;
  29.             }
  30.         }
  31.         cout << endl;
  32.     }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement