1 条题解
-
0
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
- 上传者