2180: 因子问题

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:9 解决:5

题目描述

任给两个正整数NM,求一个最小的正整数a,使得a(M-a)都是N的因子。

输入

包括两个整数NMN不超过1,000,000

输出

输出一个整数a,表示结果。如果某个案例中满足条件的正整数不存在,则在对应行输出-1

样例输入 复制

35 10

样例输出 复制

5

提示

#include<bits/stdc++.h>
using namespace std;
int n,m,a;
int main(){
    cin>>n>>m;
    for (int i=1;i<=m/2;i++) {
    	if (n%i==0&&n%(m-i)==0) {
    		cout<<i;
    		return 0;
		}
	}
    cout<<-1;
	return 0;
}