Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 1241. Mostrar todas as postagens
Mostrando postagens com marcador 1241. Mostrar todas as postagens

sábado, 30 de janeiro de 2021

URI - 1241 - Encaixa ou Não II - Strings - C++ - Solução Alternativa

Plataforma: URI
Problema1241

Enunciado:
Paulinho tem em suas mãos um novo problema. Agora a sua professora lhe pediu que construísse um programa para verificar, à partir de dois valores muito grandes A e B, se B corresponde aos últimos dígitos de A.

Linguagem: C++


Solução: 

#include <iostream>

using namespace std;

int main() {
    string n1, n2;
    int n, flag, tamanho1, tamanho2;
    cin >> n;
    cin.ignore();
        
    while (n--) {
        
        cin >> n1 >> n2;
        tamanho1 = 0;
        tamanho2 = 0;
        flag = 0;
        
        while (n1[tamanho1++] != '\0');
        while (n2[tamanho2++] != '\0');
        
        if (tamanho1-- >= tamanho2--) {
            
            while (tamanho2) {
                
                if (n1[tamanho1 - 1] != n2[tamanho2 - 1]) {
                    flag = 1;
                    break;
                }
                
                tamanho1--;
                tamanho2--;
            }
            
        }
        else
            flag = 1;
        
        if (flag)
            cout << "nao ";
            
        cout << "encaixa" << endl;
    }
        
    
    
    return 0;
}

URI - 1241 - Encaixa ou Não II - Strings - C

Plataforma: URI
Problema1241

Enunciado:
Paulinho tem em suas mãos um novo problema. Agora a sua professora lhe pediu que construísse um programa para verificar, à partir de dois valores muito grandes A e B, se B corresponde aos últimos dígitos de A.

Linguagem: C


Solução: 

#include <stdio.h>

int main() {
    
    char *n1 = (char *) malloc(sizeof(char) * 1001);
    char *n2 = (char *) malloc(sizeof(char) * 1001);
    
    int n, flag, tamanho1, tamanho2;
    scanf("%i ", &n);

    while (n--) {
        
        scanf("%s %s ", n1, n2);
        tamanho1 = 0;
        tamanho2 = 0;
        flag = 0;
        
        while (n1[tamanho1++] != '\0');
        while (n2[tamanho2++] != '\0');
        
        if (tamanho1-- >= tamanho2--) {
            
            while (tamanho2) {
                
                if (n1[tamanho1 - 1] != n2[tamanho2 - 1]) {
                    flag = 1;
                    break;
                }
                
                tamanho1--;
                tamanho2--;
            }
            
        }
        else
            flag = 1;
        
        if (flag)
            printf("nao ");
            
        printf("encaixa\n");
    }
    
    return 0;
}

domingo, 16 de agosto de 2020

URI - 1241 - Encaixa ou Não II - Strings - C++

Plataforma: URI
Problema1241

Enunciado:
Paulinho tem em suas mãos um novo problema. Agora a sua professora lhe pediu que construísse um programa para verificar, à partir de dois valores muito grandes A e B, se B corresponde aos últimos dígitos de A.

Linguagem: C++

Solução:

Após a leitura de A e B, é verificado se o tamanho de A é maior ou igual ao B. Caso contrário, não irá encaixar.
No caso de ser verdade, é percorrido os últimos caracteres de A, comparando com os caracteres de B. Caso todos sejam iguais, então a resposta é encaixa.
 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
#include <iostream>
 
using namespace std;
 
int main() {
  int n;
  cin >> n;
  while(n--){
  string A, B;
  cin >> A >> B;
  bool encaixa = true;
  if(A.length() >= B.length()){
   for(int i=0;i<B.length();i++){
    if(B[i]!=A[i+A.length()-B.length()]){
     encaixa = false;
     break;
    }
   }
  }
  else{
   encaixa = false;
  }
  if(encaixa) cout << "encaixa"<< endl;
  else cout << "nao encaixa" << endl;
 }

 
    return 0;
}

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas