欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

1091 N-自守数(15 分) C 实施-源代码

最编程 2024-03-17 19:10:22
...
#include <stdio.h>
#include <math.h>

int main()
{
	int M, chengshu, ji, length, last, flag=0;
	int arr[20];
	scanf("%d", &M);
	for(int i=0; i<M; i++)
	{
		scanf("%d", &arr[i]);
	}
	for(int j=0; j<M; j++)
	{
		chengshu = 1;
		length = 0;
		int tmp = arr[j];
		while(tmp>0)
		{
			tmp /= 10;
			length ++;
		}
		while(chengshu<10)
		{
			int k = 0;
			last = 0;
			ji = chengshu * arr[j] *arr[j];
			int t = ji;
			while(k < length)
			{
				last += pow(10,k)*(t%10);
				t /= 10;
				k++;
			}
			if(last == arr[j])
			{
				printf("%d %d\n", chengshu, ji);
				flag = 1;
				break;
			}
			flag = 0;
			chengshu++;
		}
		if(flag == 0)
		{
			printf("No\n");
		}
	}
	return 0;
}