[shkola] 3n+1 prob
- From: Lyudmil Antonov <lyudmil@xxxxxxx>
- To: shkola@xxxxxxxxxxxxx
- Date: Wed, 19 Mar 2003 16:18:36 -0500
dneska si govorihme za taia zadachka , eto vi src-to ot men. Raboti si
barzo, ama nestop ne ia priemat v acm ... niamam idea za kakvo probvah
niakolko bruteforce varianta vadiat sastite rezultati :(/ Priatno
razglezdane :
#include <stdio.h>
#define MAX_VAL 3000000
long long dyn_data[MAX_VAL];
long long steps( long long check_val) {
if (check_val < MAX_VAL) {
if (dyn_data[check_val] != 0 )
return dyn_data[check_val];
if (check_val % 2 == 1)
dyn_data[check_val] = steps(3*check_val + 1) + 1;
else
dyn_data[check_val] = steps(check_val/2) + 1;
return dyn_data[check_val];
}
else {
long long num_steps = 0;
while ( check_val >= MAX_VAL) {
num_steps++;
if (check_val % 2 == 1)
check_val = 3*check_val +1;
else
check_val /=2;
}
return steps(check_val) + num_steps;
}
}
int main() {
int i,j,l;
int max_l;
int el_read;
dyn_data[1] = 1;
while ( el_read = scanf("%i %j",&i,&j) == 2) {
long long curr_max = 0;
for (l=i; l<=j; l++) {
if (steps(l) > curr_max) {
curr_max = steps(l);
max_l = l;
}
}
printf("%d %d %d\n",i,j,curr_max);
}
return 0;
}
- Follow-Ups:
- [shkola] Re: 3n+1 prob
- From: Ivaylo Riskov
- References:
- [shkola] To Shkola-ta
- From: ShArP|
Other related posts:
- » [shkola] 3n+1 prob
- » [shkola] Re: 3n+1 prob
- [shkola] Re: 3n+1 prob
- From: Ivaylo Riskov
- [shkola] To Shkola-ta
- From: ShArP|