2864 - 【基础题】第6章:循环控制结构穷举 同构数

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB
同构数是会出现在它的平方的右边的数。例如,5就是1个同构数。
请编程输出1000以内的同构数。

题目输入

题目输出

输入/输出样例

输入格式


                        

输出格式


                        

C语言解答

#include<stdio.h>
int main()
{
	int i,a,b;
	for(i = 1;i<=999;i++)
	{
		if(i<=9)
		{
			b=(i*i)/10;
			a=i*i-b*10;
			if(a==i)
			printf("%d\n",i);
		}
		if(i>10&&i<99)
		{
			b=(i*i)/100;
			a=i*i-b*100;
			if(a==i)
			printf("%d\n",i);	
		}
		if(i>100&&i<=999)
		{
			b=(i*i)/1000;
			a=i*i-b*1000;
			if(a==i)
			printf("%d\n",i);	
		}
	}
	return 0;
}

Java解答

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		for(int i=1;i<=1000;i++){
			String s1=i+"",s2=i*i+"";
			if(s1.equals(s2.substring(s2.length()-s1.length()))){
				System.out.println(s1);
			}
		}
	}
}