Created
June 17, 2020 01:35
-
-
Save anitainfo/a2f6fe3cff01ba0abaff1d793aa37649 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<bits/stdc++.h> //biblioteca utilizada | |
using namespace std; | |
int acao(int n, int k) //função 'acao' que recebe dois inteiros | |
{ | |
if(n<=k)return 1; //se 'n' menor ou igual a 'k' retorna 1 | |
if(n%2==0)return acao(n/2,k) + acao(n/2,k); //se 'n' é par retorna 'acao' de metade de 'n' + 'acao' de metade de 'n' | |
else return acao(n/2,k)+acao(n/2+1,k); //se 'n' é ímpar retorna 'acao' de metade de 'n' + 'acao' de metade de 'n' + 1 | |
} | |
int main() | |
{ | |
int n,k; //declara variáveis | |
scanf("%d %d", &n, &k); //lê o primeiro caso de teste | |
while(n!=0 && k!=0) //enquanto a entrada for diferente de 0 | |
{ | |
printf("%d\n", acao(n,k)); //imprimi o resultado da função 'acao' de 'N' e 'K' | |
scanf("%d %d", &n, &k); //lê um novo caso de teste | |
} | |
return 0; //retorna a 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment