.T-primes

B.T-primes
B.T-primes

time limit per test: 2 seconds
每次测试的时间限制:2秒

memory limit per test: 256 megabytes
每次测试的内存限制:256兆字节

input: standard input
输入:标准输入

output: standard output
产出:标准产出

We know that prime numbers are positive integers that have exactly two distinct positive divisors.Similarly, well cll a positve integer t工-
我们知道素数是正整数,它恰好有两个不同的正整数,类似地,它是一个正整数t工-

prime, if t has exactly three distinct positive divisors.
素数,如果t有三个不同的正因子。

You are given an array of n positive integers.For each of them determine whether it is T-prime or not.
给你一个n个正整数的数组,每个正整数决定它是否是T-素数。

lnput
输入

The first line contains a single positive integer,n(1≤n≤10’), showing how many numbers are in the array.The nextline contains n
第一行包含一个正整数,n(1≤n≤10‘),显示数组中有多少个数字。

space-separated integers x;(1≤x;三1012).
空格分隔整数x;(1≤x;三1012)。

Plase, do not use the %lld spediier to read or write 64-bitintegers in C++.Itis advised to use the cin,cout streams or the %164d
请不要在C++中使用%lld规范读取或写入64位整数,建议使用CIN、cout流或%164 d。

specifier.
说明符。

output
输出量

Print ? lines: the i-th line should contain “rEs”(without the quotes), if number x isT-prime,and “hto”(without the quotes) ifitisnt
打印?行:第一行应该包含“res”(没有引号)、如果数字x ist-素数,以及“hto”(没有引号)ifitisnt。

判断是否为质数的平方

int main()
{
	int n, i, j,b;
	long long a;
	cin >> n;
	for (i = 0; i < n; ++i)
	{
		cin >> a;
		b = sqrtl(a);
		for (j = 2; j * j <= b; ++j)
		{
			if (b % j == 0)
			{

				break;
			}
		}
		if (j * j > b && b * b == a && a > 1)
		{
			cout << "YES"<

你可能感兴趣的:(cf)