Nome: Não é mais um joguinho canadense
Link: http://br.spoj.pl/problems/CONTAGEM/
Dificuldade: 3/10
Linguagem: C++
Tempo atingido: 0.00
Memória usada: 2.6M
Colocação alcançada: 100+
Tentativas: 2
Comentário:
Esse exercício pode parecer difícil, mas tem uma dica lá nos comentários dele que facilitou muito.
Dicas:
- Tentem fazer essa analogia das letras com valores binários, sendo a=0 e b=1. (Créditos a Filipe Bittencourt)
- Notem que o valor de saída pode ser alto, talvez mais alto que um simples inteiro pode aguentar.
#include
ResponderExcluir#include
#include
unsigned long long int main(){
char P[100];
unsigned long long int k = 1;
long int base = 2;
while(scanf("%s", P) != EOF){
long int s = strlen(P);
long int i;
long int lb = -1;
unsigned long long int res = 0;
unsigned long long int cont = 0;
for(i = s-1; i>=0; i--){
if(P[i] == 'b'){
lb = i;
res += pow(base, (s-(lb+1)));
}
}
printf("Palavra %llu\n", k++);
printf("%llu\n\n", res);
}
return 0;
}
Por que tá dando resposta errada?