✏️ 纠错
第 51 题 / 共 155 题
题目描述
小杨有 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
【参考程序】