Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. //Fall sem tekur inn tölu og finnur lengd Collatz-rununnar.
  4. int lengthOfCollatz(int a){
  5. int n = a;
  6. int counter = 1;
  7. while(n != 1){
  8. if(n % 2 == 0){
  9. n = n / 2;
  10. }
  11. else{
  12. n= 3*n + 1;
  13. }
  14. counter++;
  15. }
  16. return counter;
  17. }
  18.  
  19. //Fall sem tekur inn heiltölu m og finnur þá tölu minni en m sem gefur lengstu Collatz rununa
  20. int LongestCollatz(int m){
  21. int maxLength = 0;
  22. int longest = 0;
  23. int length;
  24. for(int i = 1; i < m; i++){
  25. length = lengthOfCollatz(i);
  26. if(length > maxLength){
  27. maxLength = length;
  28. longest = i;
  29. }
  30. }
  31. return longest;
  32. }
  33.  
  34. int main(){
  35.  
  36. using namespace std;
  37. cout<<"Sladu inn heiltoluna m: "<< endl;
  38. int m = 0;
  39. cin >> m;
  40. int longest = LongestCollatz(m);
  41. cout << "Talan minni en " << m << " sem gefur lengstu Collatz rununa er " << longest << endl;
  42. cout<<"Su runa er af lengd "<< lengthOfCollatz(longest)<<endl;
  43. return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement