Necesito ayuda, es muy rápido y fácil
Publicado por Bryan (3 intervenciones) el 25/05/2019 20:18:52
Tengo este programa que consiste en El número de transiciones de una cadena binaria b1,b2,…,bNb1,b2,…,bN es el número de parejas bi,bi+1bi,bi+1 tales que bi≠bi+1bi≠bi+1. Por ejemplo, en la cadena 001011001011 existen tres transiciones: la cadena comienza con 00 y luego cambia a 11, luego cambia otra vez a 00 y luego cambia otra vez a 11. Escribe un programa que sume el número de transiciones que ocurren en las 2N2N cadenas binarias de longitud NN e imprima el valor de dicha suma.
Ya tengo el programa y si funciona bien, el caso es que si meto una n > 30, el programa ya no funciona correctamente y necesito que funcione para n < =50
Ya tengo el programa y si funciona bien, el caso es que si meto una n > 30, el programa ya no funciona correctamente y necesito que funcione para n < =50
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
//Funcion recursiva
int transacciones (int n){
if (n == 0){
return 0;
}
else if (n == 1){
return 0;
}
else if (n == 2){
return 2;
}
else if (n == 3){
return 8;
}
else if (n == 4){
return 16;
}
else {
return (2*transacciones(n-1));
}
}
int main(){
int n;
std::cin>>n;
std::cout<< transacciones(n);
}
Valora esta pregunta


0