4 条题解

  • 0
    @ 2024-12-28 15:28:44

    显然重题了。而且题面有误。

    #include<bits/stdc++.h>
    #define int long long
    #define INF 0x3f3f3f
    using namespace std;
    int n;
    signed main(){
    	cin>>n;
    	int s=log10(n)+1;//n的位数
    	int m=n*n;
    	while(s--){
    		if(m%10!=n%10){
    			cout<<"NO";
    			return 0;
    		}
    		m/=10;n/=10;
    	}
    	cout<<"YES";
    	return 0;
    }
    
    • 0
      @ 2024-12-28 11:58:51

      双倍经验

      #include<bits/stdc++.h>
      #define int unsigned long long
      using namespace std;
      signed main(){
      	int n;
      	cin>>n;
      	int ans1=log10(n)+1,ans2=n*n;
      	while(ans1--){
      		if(ans2%10!=n%10){
      			cout<<"NO";
      			exit(0);
      		}
      		n/=10;
      		ans2/=10;
      	}
      	cout<<"YES";
      }
      
    • 0
      @ 2024-12-24 21:24:02

      好好好 这不就是前面的自守数吗:

      #include<bits/stdc++.h>
      using namespace std;
      int main()
      {
      	long long n;
      	cin>>n;
      	long long qwq=n;
      	long long num=1;
      	while(qwq>0)
      	{
      		qwq/=10;
      		num*=10;
      	}
      	if(n*n%num==n)
      	{
      		cout<<"YES";
      	}
      	else
      	{
      		cout<<"NO";
      	}
      	return 0;
      }
      
    • 0
      @ 2024-12-22 11:03:53

      C++ :

      #include<bits/stdc++.h>
      using namespace std;
      long long  n,m,l;
      int a;
      int main()
      {
      cin>>n;
      for(m=1;m<=n;m*=10);
      l=n*n;
      l=l%m;
      if(l==n)
      	cout<<"YES";
      else
      	cout<<"NO";	
      return 0;
      }
      

      Python :

      # coding=utf-8
      n=int(input())
      if 1<n<10:
          t=n*n
          if t%10==n:
              print("YES")
          else:
              print("NO")
      
      if 10<n<100:
          t=n*n
          if t%100==n:
              print("YES")
          else:
              print("NO")
      if 100<n<1000:
          t=n*n
          if t%1000==n:
              print("YES")
          else:
              print("NO")
      if 1000<n<10000:
          t=n*n
          if t%10000==n:
              print("YES")
          else:
              print("NO")
      if 10000<n<100000:
          t=n*n
          if t%100000==n:
              print("YES")
          else:
              print("NO")
      if 100000<n<1000000:
          t=n*n
          if t%1000000==n:
              print("YES")
          else:
              print("NO")
      if 1000000<n<10000000:
          t=n*n
          if t%10000000==n:
              print("YES")
          else:
              print("NO")
      if 10000000<n<100000000:
          t=n*n
          if t%100000000==n:
              print("YES")
          else:
              print("NO")
      
      
      
      • 1

      信息

      ID
      23
      时间
      1000ms
      内存
      128MiB
      难度
      2
      标签
      (无)
      递交数
      30
      已通过
      23
      上传者