题目传送门
题意:
给你一个正整数,让你找到个二元组,满足下列条件。
数据范围:,。
题解:
当时,无解。是质数,是正整数。
其他情况你可以找到同时满足下列条件的情况,即找到解。
感受:
学会使用markdown制作公式的方法。
代码:
#include<bits/stdc++.h>
using namespace std ;
int n ;
int main()
{
scanf("%d" , &n) ;
for(int x = 2 ; x * x <= n ; x ++)
{
if(n % x == 0 && __gcd(x , n / x) == 1)
{
int y = n / x ;
for(int a = 1 ; a < x ; a ++)
{
if(a * y >= n - 1) break ;
if((n - 1 - a * y) % x == 0)
{
int b = (n - 1 - a * y) / x ;
printf("YES\n") ;
printf("2\n") ;
printf("%d %d\n" , a , x) ;
printf("%d %d\n" , b , y) ;
return 0 ;
}
}
}
}
printf("NO\n") ;
return 0 ;
}