Pesquisar este blog

Livros Recomendados

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

terça-feira, 23 de fevereiro de 2021

URI (BEECROWD) - 1630 - Estacas - Matemática - C e C++

Resolvi aqui mais um problema de matemática para vocês! O problema "Estacas"!

Este problema precisa do cálculo do MDC para obter a solução, ao menos eu fiz assim. E você, como fez este exercício?

Plataforma: URI (BEECROWD)

Problema1630

Enunciado:

Marcos trabalha em uma empreiteira, sua tarefa é cercar com estacas os terrenos onde serão construidos prédios. Existem duas restrições para a distribuição destas estacas, elas devem ser colocadas de tal forma que a distância entre duas estacas seja sempre igual, e a segunda restrição é que Marcos deve usar o menor número possível de estacas. Marcos é seu amigo e pediu para que você desenvolva um programa para ajudá-lo.


Linguagens: C e C++


Solução:

Basta ler os valores de x e y e imprimir (2x + 2y) / mdc(x, y).

Eu implementei a minha função mdc para isso, tornando o código mais modularizado e consequentemente mais legível também.

Código em C:

#include <stdio.h>
int mdc(int v1, int v2) {
    int resto;
    do {
        resto = v1 % v2;
        v1 = v2;
        v2 = resto;
    } while (resto);
    return v1;
}
int main() {
    int x, y;
    while (scanf("%d %d", &x, &y) != EOF) {
        printf("%d\n", (x + x + y + y) / mdc(x, y));
    }
    return 0;
}

Código em C++:


#include <iostream>
int mdc(int v1, int v2) {
    int resto;
    do {
        resto = v1 % v2;
        v1 = v2;
        v2 = resto;
    } while (resto);
    return v1;
}
int main() {
    int x, y;
    while (std::cin >> x >> y)
        std::cout << (x + x + y + y) / mdc(x, y) << std::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