分火腿

分火腿_第1张图片

.
.
.
.
.
分析
找规律吧
有可能切的地方就是火腿之间的分界,考虑到这点即可

.
.
.
.
.
.
程序:

#include
#include
#include
using namespace std;

long long gcd(long long x,long long y)
{
    if(y==0) return x;
    if (x<y) return gcd(y,x);else return gcd(y,x%y);
}

int main()
{
	int T;
    scanf("%d",&T);
    while (T--)
    {
    	long long n,m,ans;
        scanf("%lld%lld",&n,&m);
        if (n%m==0) ans=0; else
		if (m%n==0) ans=n*(m/n-1); else ans=m-gcd(n,m);
        printf("%lld\n",ans);
    }
    return 0;
}

你可能感兴趣的:(c++,数学)