Example #1
0
int getLenth(long long int no){ //, int length){
	
	if ( no <= 1)
		return 0;
     
    if ( no % 2 == 0){
     
		no = no / 2;
		length++;

		if ((no < N) && (length_i[no] != 0)){
			length = length + length_i[no];
			return 0;
		}
		else
			getLenth(no) ;//, length);
    }
    else{
		no = 3*no +1;
		length++;

		if ((no < N)&& (length_i[no] != 0)){
			length = length + length_i[no];
			return 0;
		}
		else
			getLenth(no) ;//, length);
    }
     
     
}
Example #2
0
unsigned char *DataParse::getPrivData() 
{
	if (getLenth() > sizeof(merge_user_t))
	{
		return (((unsigned char*)user_) + sizeof(merge_user_t));
	}

	return NULL;
}
Example #3
0
 int main(int argc, char* argv[]){
    long long int no, ret = -1, i, j = 1; //, length = 1;
  //  long long int *result;
    
	while (--argc > 0){
		no = atoi(argv[j]);
		j++;
     
//		result = (long long int*)malloc(no * sizeof(long long int));
     
		//for (i = 0; i < no; i++)
//		for (i = no-1; i > 0; i--){
//			result[i] = i;
			//make_zero(i, result);
//		}
		
		for (i = no-1; i>0; i--){
			//for (i = no-1; i>0; i--){
		//	make_zero(i, result);
			
			if (0 ==  length_i[i]){
				getLenth(i);	
				length_i[i] = length;
			}
		
			if (length_i[i] > final_length ){
				final_length = length_i[i];
				final_number = i;
				//final_number = i;
			}
     
			length = 1;
		}
     
		printf ("%lld\n", final_number);
		i = 0;
		length = 1;
		final_length = 1;
     
//		free(result);
	}
     
    return 0;
}