题解 CF679A 【Bear and Prime 100】
其实我根本不知道交互提中的flush是啥,所以我根本没用fflush(stdout)
如果一个数可以分解为两个及以上的质因数,那就是合数。
证明:
对于任意一个合数X,小学理论已经证明出X可以被某个质数整除,将X除以这个质数,得数如果是质数,那么X有两个质因数,否则,将X除以这个质数的结果继续分解,最后会有 >= 2个质因数
但对于 为质数,将C设为形如 的数,将C分解质因数,可得出:
因此,C只有一个质因数
所以对于平方数是个问题,例如9,3 * 3 = 9所以9为合数,但3只是一个质因数,所以要加3, 5, 9到表中
我不会fflush,哇:
#include <iostream>
using namespace std;
char ch[5];
const int zs[20] = {0, 2, 3, 4, 5, 7, 9, 11, 13, 17, 19, 23, 25, 29, 31, 37, 41, 43, 47, 49};
int main()
{
int cnt = 0;
for(register int i = 1; i <= 19; i++)
{
cout << zs[i] << endl;
cin >> ch;
if(ch[0] == 'y')
{
cnt++;
}
if(cnt >= 2)
{
cout << "composite\n";
return 0;
}
}
cout << "prime\n";
return 0;
}

浙公网安备 33010602011771号