题目描述
输入
输出
样例输入
2
1 3
4 3
样例输出
1
4
提示
分析
这题的核心是会求质数,将它用函数封装起来用于判断
#include <stdio.h>
int Is(int n);
int main()
{
int n,i,a,b,k,t,x;
scanf("%d",&n);
for(i = 0;i < n;i++)
{
x=0;t=0;
scanf("%d%d",&a,&b);
x = a+b; //将两块地里的土豆相加
t = a+b;
do{
t++; //先进行+1操作,避免前两块地的土豆的和已经是素数的情况
k = Is(t);
}while(k != 1); //从两块地里的土豆的和开始,当取到下一个质数时停止循环
printf("%d\n",t-x); //输出下一个质数和现在两块地里的土豆相差的个数
}
}
int Is(int n) //输入一个数,如为质数,输出1,不是则输出-1
{
int i,t,k=0;
for(i = 2;i <= n;i++)
{
t = n%i;
if(t == 0)
k++;
}
if(k == 1)
return 1;
if(k > 1)
return -1;
}