测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A52023. 因子问题

填空题 困难

题目描述

因子问题

题目描述

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

输入

包括两个整数N、M。N不超过1,000,000。

输出

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

样例输入

35 10

样例输出

5

参考答案

#include <stdio.h> int main(int argc, char *argv[]) { int N,M,a=0,t; scanf("%d%d",&N,&M); t=M/2; for(a=1; a<=t; a++) { if( N%a==0 && (N%(M-a)==0) ) { t=-1; break; } } if(t!=-1) printf("-1\n"); else printf("%d\n",a); return 0; }
上一题 下一题