13,453,774 members (41,994 online)
See more:
I submit my answer in Programming Challenges Judge(here http://www.programming-challenges.com[^]).I think my code of my is correct,but it show the result that is Answer Wrong.
Here is the code:
```// 3n+1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using std::cin;
using std::cout;
using std::endl;

//declare function for calculate number of sequence of numbers
unsigned int NumOfSquence(unsigned int n);

int _tmain(int argc, _TCHAR* argv[])
{
unsigned int i = 1,j = 1,temp = 0;
cin>>i>>j;
//switch i and j,if(i > j)
if(i > j){
temp = i;
i = j;
j = temp;
}
unsigned int max = NumOfSquence(i);
for(unsigned int k = i + 1;k <= j; k++){
temp = NumOfSquence(k);
if(temp > max){
max = temp;
}
}
cout<<i<<" "<<j<<" "<<max<<endl;
return 0;
}

//the function of calculate number of sequence of numbers,whilch begins with n
// 16 8 4 2 1
unsigned int NumOfSquence(unsigned int n){
unsigned int num = 1;
while(n != 1){
if(n % 2 == 0){
n /=2;
}
else if(n % 2 == 1){
n = 3 * n + 1;
}
num++;
}
return num;
}```
Posted 14-Nov-12 2:06am
Updated 14-Nov-12 2:51am
v2
Legor 14-Nov-12 9:28am

Is there any actual question related to this ?
MLOVEternity 15-Nov-12 10:23am

Here is the problem :
http://acm.uva.es/p/v1/100.html[^]
MLOVEternity 15-Nov-12 10:08am

@Jacques Loubser
This is an algorithmic problem in book,Programming challenges.It don't just calculate the answer of (3n + 1).

## Solution 1

Hi
Why must it be so complicated?

3n + 1 = (3 * n)+1

```unsigned int n = 0;
unsigned int output = 0;
output=( 3 * n ) + 1 ;```

## Solution 2

It seems from your code that you're trying find the longest sequence of steps for a Collatz conjecture[^] between 2 initial numbers.

In the function 'NumOfSquence' you should start from num = 0 instead of num = 1 to count the number of steps instead of the number values.

I hope this helps.

Top Experts
Last 24hrsThis month
 John Simmons / outlaw programmer 335 Jochen Arndt 325 OriginalGriff 285 Maciej Los 188 Richard Deeming 180
 OriginalGriff 5,335 Maciej Los 2,890 Richard Deeming 1,950 CPallini 1,762 Jochen Arndt 1,705