1 条题解

  • 0
    @ 2025-10-10 15:45:27

    C :

    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    int main(void)
    {
    	int x,y,num,ping,n;
    	int i,j,k,m,count;
    	int a[100];
    	scanf("%d %d",&x,&y);
    	for(i=x;i<=y;i++)
    	{
    		count=0; 
    		k=0;
    		if(pow(i,2)<=10000000&&pow(i,2)>=1000000)
    		{
    			ping=pow(i,2);
    			while(ping!=0)
    			{
    			a[k]=ping%10;
    			ping=ping/10;
    			k++;	
    			}
    		}
    		for(m=0;m<k;m++)
    		{
    			for(n=0;n<k;n++)
    			{
    				if(a[n]==a[m])
    				{
    					count++;
    				}
    			}
    		}
    		if(count==7)
    		{
    			printf("%d\n",i);
    		}
    	}
    	return 0;
    }
    

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	int x,y,i,j,z,s,c;
    	char a[8];
    	cin>>x>>y;
    	for(i=x;i<=y;i++){
    		c=0;
    		s=i*i;
    		sprintf(a,"%d",s);
    		for(j=0;j<6;j++){
    			for(z=j+1;z<7;z++) if(a[j]==a[z]){
    					c++;
    					break;
    			}		
    		}
    		if(c==0) cout<<i<<endl;
    	}
    }
    

    Pascal :

    var a:array[1..100] of longint;
        z:boolean;
        b,c,d,i,j,k,x:longint;
    begin
    read(b,c);
    for i:=b to c do
    begin
    d:=i*i;
    j:=1;
    while d>0 do
    begin
    a[j]:=d mod 10;
    d:=d div 10;
    j:=j+1;
    end;
    if j=8 then begin
    z:=false;
    for k:=1 to 6 do
    for x:=k+1 to 7 do
    if a[k]=a[x] then z:=true;
    if z=false then writeln(i);
    end;
    end;
    end.
    

    Java :

    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Scanner;
    import java.util.Set;
    public class Main{
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner scanner=new Scanner(System.in);
    		String numberLine=scanner.nextLine();
    		String[] numberArray=numberLine.split(" ");
    		int number1=Integer.valueOf(numberArray[0]);
    		int number2=Integer.valueOf(numberArray[1]);
    		for(int i=number1;i<=number2;i++){
    			String numString=String.valueOf((int)Math.pow(i, 2));
    			char[] charArray=numString.toCharArray();
    			if(charArray.length==7){
    				List list=new ArrayList();
    				Set set=new HashSet();
    				for(int j=0;j<charArray.length;j++){
    					list.add(charArray[j]);
    					set.add(charArray[j]);
    				}
    				if(list.size()==set.size()){
    					System.out.println(i);
    				}
    			}
    		}
    	}
    }
    
    

    Python :

    #判断数字是否7位数,传入的n默认是整数
    def checkNumSeven(n):
        return len(str(n)) == 7;
    
    # 判断数字是否不相同,传入的n默认是整数
    def checkDifference(n):
        n = str(n)
        s = set(n)
        return len(n) == len(s); 
    
    x ,y = map(int,input().split())
    for i in range(x,y + 1):
       if checkNumSeven(i * i) and checkDifference(i * i):
           print(i)
    
    • 1

    信息

    ID
    113
    时间
    1000ms
    内存
    64MiB
    难度
    10
    标签
    递交数
    3
    已通过
    2
    上传者