Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int separa (char *str1, char *str2, int tam){
- if(!strncmp(str1, str2, tam))
- return 1; /* ok = 1, entao sao iguais */
- else if(tam & 1)
- return 0; /* ok = 0, entao sao diferentes */
- else if(separa(str1, str2+tam/2, tam/2) && separa(str1+tam/2, str2, tam/2) || separa(str1, str2, tam/2) && separa(str1+tam/2, str2+tam/2, tam/2))
- return 1;
- else
- return 0;
- }
- int main() {
- int tam, ok;
- char *str1, *str2;
- scanf("%d", &tam);
- str1 = (char *)malloc (tam*sizeof(char));
- str2 = (char *)malloc (tam*sizeof(char));
- while(tam != 0){
- str1 = (char *)realloc (str1, tam*sizeof(char));
- str2 = (char *)realloc (str2, tam*sizeof(char));
- scanf("%s", str1);
- scanf("%s", str2);
- ok = separa(str1, str2, tam);
- if (!ok){
- printf("NAO\n");
- }
- else {
- printf ("SIM\n");
- }
- scanf("%d", &tam);
- }
- free(str1);
- free(str2);
- return 0;
- }
Add Comment
Please, Sign In to add comment