[GESP202406 二级] 平方之和

GESP编程共123题,本题是整站第1412题,已经有人完成了本题,加油!

题目描述

小杨有 n 个正整数 a1​,a2​,…,an​,他想知道对于所有的 i(1≤i≤n),是否存在两个正整数 x 和 y 满足 x×x+y×y=ai​。

输入格式

第一行包含一个正整数 n,代表正整数数量。 之后 n 行,每行包含一个正整数,代表 ai​。

输出格式

对于每个正整数 ai​,如果存在两个正整数 x 和 y 满足 x×x+y×y=ai​,输出 Yes,否则输出 No

输入输出样例

输入 #1

2
5
4

输出 #1

Yes
No

说明/提示

对于第一个正整数,存在 1×1+2×2=5,因此答案为 Yes

对于全部数据,保证有 1≤n≤10,1≤ai​≤10^6。

别灰心,再试一次!

真题解析

【题目大意】

给定n,一共输入n个正整数a1~an。判断ai能否表示为两个正整数x和y的平方之和。

【考纲知识点】

开方运算、输入输出语句、循环

【解题思路】

1、按题目要求定义好需要的变量,并实现输入

2、通过while循环n次单独接收每次的数据ai,定义f1变量表示结果

3、在1~根号ai之间遍历数字i,此时i就是x

4、调用check()函数计算ai,剩余的数为ai-i*i,判断它能否被开方5、如果可以则f1=1,输出Yes,否则输出No

【参考程序】

本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。