URI Online Judge | 2903
Uma pizza simétrica
Por Mario Silva Brasil
Prazo: 1
Bob tem uma mania de simetria. Tudo em sua vida deve ser simétrico: sua casa, suas roupas, seu carro, até mesmo sua comida. E pizza não é exceção. Para ele comer uma pizza, todas as coberturas, como tomates, azeitonas, calabresa ou manjericão, devem ser arranjadas com algum grau de simetria rotacional. Esta noite Bob pediu uma pizza. Como de costume, quando chegou, ele pediu ao motorista que demonstrasse que a pizza atendia às suas exigências de simetria rotacional. O motorista demonstrou a simetria então, como eles são treinados para fazer, usando o seguinte procedimento:
- tire uma foto da pizza com um celular;
- gire a pizza em R graus ao redor de seu centro;
- tire outra foto;
- mostre Bob as duas fotos lado a lado, para que ele veja que a pizza parece idêntica em ambas.
Satisfeito, Bob pagou a pizza e levou-a para a cozinha. Para testar seu novo cortador de pizza a laser, ele decidiu cortar a pizza no maior número de fatias possível. Claro, Bob quer cortar as fatias de uma forma que todas pareçam exatamente iguais, de acordo com outra de suas manias. Agora, dado o ângulo R da demonstração de simetria, Bob quer saber a quantidade máxima de fatias iguais nas quais ele pode cortar a pizza.
Entrada
A entrada consiste em uma única linha que contém um número racional R (0 < R <360) indicando o ângulo da demonstração de simetria rotacional. Este número tem exatamente dois dígitos após o ponto decimal.
Saída
Saída de uma única linha com um inteiro representando a quantidade máxima de fatias iguais Bob pode cortar a pizza, com base nas informações fornecidas
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int gcd (int n1, int n2)
{
if (n2! = 0)
{
retorno (mdc (n2, n1% n2));
}
outro
{
retorno (n1);
}
}
int main ()
{
int a, b;
scanf ("% d.% d", & a, & b);
int R = 100 * a + b;
int quantidade = 36000 / (mdc (36000, R));
printf ("% i \ n", quantidade);
}
Obrigado!
https://www.facebook.com/fatosenoticiascuriosas
0 Comentários