PTA_基础编程题目集_6-7 统计某类完全平方数 (20 分)

int IsTheNumber(const int N)
{
	int n = N, tn, jud = 0, mark = 0;
	tn = (int)(sqrt((double)(n)));
//利用非完全平方整数,开方存在小数;double强行转int,将舍弃小数部分
	if (tn*tn == n) 
//若 tn平方后 等于 被开方数,说明n是完全平方整数(不存在舍弃的小数)
	{
		int a[10] = { 10,10,10,10,10,10,10,10,10,10 };
		for (int i = 0; n != 0; i++) 
		{
			a[i] = n % 10;
			n /= 10;
			mark++;
		}

		for (int w=0; w < mark; w++) 
			for (int i = 0; a[i] != 10; i++) 
				if (w != i && a[w] == a[i])
                          //判定至少有两位数字相同
					jud = 1;

	}

	return jud;
}

猜你喜欢

转载自blog.csdn.net/qq_43269246/article/details/83089183