Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- //Fall sem tekur inn tölu og finnur lengd Collatz-rununnar.
- int lengthOfCollatz(int a){
- int n = a;
- int counter = 1;
- while(n != 1){
- if(n % 2 == 0){
- n = n / 2;
- }
- else{
- n= 3*n + 1;
- }
- counter++;
- }
- return counter;
- }
- //Fall sem tekur inn heiltölu m og finnur þá tölu minni en m sem gefur lengstu Collatz rununa
- int LongestCollatz(int m){
- int maxLength = 0;
- int longest = 0;
- int length;
- for(int i = 1; i < m; i++){
- length = lengthOfCollatz(i);
- if(length > maxLength){
- maxLength = length;
- longest = i;
- }
- }
- return longest;
- }
- int main(){
- using namespace std;
- cout<<"Sladu inn heiltoluna m: "<< endl;
- int m = 0;
- cin >> m;
- int longest = LongestCollatz(m);
- cout << "Talan minni en " << m << " sem gefur lengstu Collatz rununa er " << longest << endl;
- cout<<"Su runa er af lengd "<< lengthOfCollatz(longest)<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement