求最大公約數和最小公倍數都是有技巧的,單純的 i+1 方式去找必定慢
void?hef(int?x,?int?y){
int?i?=?x?>?yy?:?x;
if(x?%?i?==?0?&&?y?%?i?==?0)
p?=?i;
else
{
for(i?=?i?/?2;?i?>?0;?i--)
{
if(x?%?i?==?0?&&?y?%?i?==?0)
{
p?=?i;
break;
}
}
}
}
void?led(int?x,?int?y)
{
int?max?=?x?>?yx?:?y;
int?min?=?x?>?yy?:?x;
int?j?=?1;
while((max?*?j)?%?min?!=?0)
{
j++;
}
q?=?max?*?j;
}