题目描述:
给定一个正整数n,对 n 分解质因数。
设 p=p1×p2×p3×⋯×pi其中 pi 均为质数。
如果 pi 均为奇数,则称 p 为『只因数』。
现在,给出若干个 n,请你判断它们是不是『只因数』。
从描述中我们得知,只因数的因子均为奇数,也就是说,『只因数』本身也一定是奇数;
无论有多少奇数相乘,最终结果一定是个奇数,但是因子之间若出现一个偶数,那么因子的
乘积也会是偶数,偶数乘偶数结果还是偶数。
所以,我们要判断一个数是否为『只因数』,只需判断奇偶性即可,注意测试数据大小,这里需要用longlong类型。
代码如下“:
#include <stdio.h>
int main()
{
int n=0,i=0;
scanf("%d",&n);
long long a[n];
for(i=0;i<n;i++)scanf("%lld",&a[i]);
for(i=0;i<n;i++){
if(a[i]%2)printf("Yes\n");
else printf("No\n");
}
return 0;
}