本文已参与「新人创作礼」活动,一起开启掘金创作之路。
题意
Description
相信大家都做过”A+B Problem”了吧,这道题是它的加强版。
输入两个整数A,BA,B,表示AA个BB,例如3,63,6
表示666666。你只需要把“A个B”开根号。如果开根号后是个整数,输出开根后的数,否则输出“We doiOSnot have SPJ!”
题目链ios16接
解题思路
很显然,这题就是让我们判断“A个B”是不是完全平方数,我们从感觉上判断,形如666⋯666666cdots666这样的数,一般来说都不是完全平方数,现在我们来证明一下。
证明
当B=0B=0时,答案显然是00。
接下来我们考虑B>0B>0的情况:
当A=1A=1时,只有B=1,4,9B=1,4,9有解。
当A=2A=2时,可以用枚举法得出无解。
当A≥3Ageq3时:
首先,能在开根号后是整数的,一定是完全平方数,
显然,对于任意完全平方数x2x^2,有:
x2≡0,1mod4x^2 equiv0,1quaios是苹果还是安卓d moios越狱d quad 4
对于一个3位以上的数,我们可以把它拆分成100⋅a+b100 cdot a+b其中,bb是一个两位数。显ios越狱然:
100⋅a≡0mod4100⋅a+b≡ios模拟器bmod4100 cdot a eqios下载uiv 0 quad mod quad 4\ 100 cdot a +b equiv b quad mod quad 4
那么对于“AA个1,5,91,5,9”,有
1⋯1≡11≡3mod45⋯5≡55≡3mod49⋯9≡99≡3mios应用商店od41cdots1 equiv 11 equiv3 enspace mod enspace 4\ 5cdots5 equiv 55 equiv3 enspace mod enspace 4\ 9cdots9 equiv 99 equiv3 enspace mod enspaios是苹果还是安卓ce 4\
对于“AA个2,62,6”,有
2⋯2≡22≡2mod46⋯6≡66≡ios152mod42cdots2 equiv 22 eqios系统uiv2 enspaios14.4.1更新了什么ce mod enspace 4\ 6cdots6 equiv 66 equiv2 enspace mod enspace 4\
所以上述情况不是完全平方数。
对于一个偶完全平方数4⋅k24 cdot k^2,显然其除以44后仍然是完全平方数,而
4⋯44=1⋯18⋯84=2⋯2frac{4cdots4}{4}=1cdots1\ frac{8cdots8}{4}=2cios模拟器dots2
均不是完全平方数,故对于“AA个4,84,8”不是完全平方数。
对于3,73,7,我们考虑,一个完全平方数x2x^2,有:
x≡0,1,2,3,4mod5x2≡0,1,4mod5xequiv 0,1,2,3,4enspace modenspace5\ x^2equiv 0,1,4 enspace mod enspace 5
而:
3⋯3≡33≡3mod57⋯7≡77≡2modios模拟器53cdots3 equios14.4.1更新了什么iv 33 equiv3 enspace mod enspace 5\ 7cdots7 equiv 77 equiv2 enspace mod enios模拟器space 5\
故对于“AA个3,73,7”不是完ios系统全平方数。
所以对于任意三位数及以上的的”A个Bios16“,其必定不是完全平方数。
代码
// by Concyclics
//
//
#include <iostream>
using namespace std;
int main()
{
int A,B;
cin>>A>>B;
if(B==0)
{
puts("0");
return 0;
}
if(A==1)
{
if(B==1)
{
puts("1");
return 0;
}
if(B==4)
{
puts("2");
return 0;
}
if(B==9)
{
puts("3");
return 0;
}
}
puts("We donot have SPJ!");
return 0;
}