1 solutions

  • 0
    @ 2025-3-3 16:33:15

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    int i,n,c = 0;
    int main() {
    	 cin>>n;
    	 for(i = 1;i <= n;i++){
    	 	if(i*i%10==i||i*i%100==i||i*i%1000==i||i*i%10000==i||i*i%100000==i||i*i%1000000==i){
    	 		c++;
    	 		//cout<<i<<endl;
    		 }
    	 }
    	 
    	 cout<<c;
    }
    
    
    

    Java :

    import java.util.Scanner;
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		int s = 0 ; 
    		for(int i = 1 ; i <= n ; i++)
    		{
    			if((i*i)%10 == i || (i*i)%100 == i || (i*i)%1000 == i || (i*i)%10000 == i ||(i*i)%100000 == i)
    			{
    				s++;
    			}
    		}
    		System.out.println(s);
      	}
     }
    

    Python :

    # 接收输入:思路是转换为字符串来处理
    n = int(input())
    c = 0
    for i in range(1, n + 1):
        # 平方的结果转成字符串
        a = str(i * i)
        # 把i转化成字符串
        b = str(i)
        # 得到i字符串的位数
        t = len(b)
        if a[t*(-1):] == b:
            c += 1
    print(c)
    
    • 1

    Information

    ID
    10556
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By