tópico:
Uma festa de aniversário pode ter p ou q pessoas presentes e um bolo grande já está pronto. Pergunte pelo menos quantos pedaços do bolo devem ser cortados (cada pedaço pode não ser do mesmo tamanho), para que p ou q pessoas possam comparecer qualquer situação, pode dividir o bolo uniformemente.
Entrada
Cada linha possui dois números pe q.
Resultado
Produza o número mínimo de bolos a serem cortados em pedaços.
Amostra de entrada
2 3
Saída de amostra
4
Dica
将蛋糕切成大小分别为1/3,1/3,1/6,1/6的四块即满足要求. 当2个人来时,每人可以吃1/3+1/6=1/2 , 1/2块。 当3个人来时,每人可以吃1/6+1/6=1/3 , 1/3, 1/3块。
Patrocinador
Ideias:
Corte em p partes pela primeira vez e corte em q partes pela segunda vez.As duas devem ter arestas de corte sobrepostas.
O número de arestas de corte sobrepostas é o maior divisor comum de peq, e então use (p + q) -maior divisor comum
Código de implementação:
#include <stdio.h>
#include <algorithm>
using namespace std;
int main()
{
int p,q;
while(~scanf("%d %d",&p,&q))
printf("%d\n",p+q-__gcd(p,q));
return 0;
}
suplemento:
1. função __gcd () Encontre o máximo divisor comum e chame diretamente, o algoritmo do arquivo de cabeçalho