题面:
题目描述
鸡尾酒的学生丹丹学不会除法,有一天他遇到了这样的一个问题:给定一个整数 n ,你可以任选一个 n 的因子 x,然后将 n 除以 x。你可以进行任意次这样的 操作,直到 n 是一个质数为止。请问至少几次操作可以让 n 变成一个质数。 由于丹丹不会除法,更不知道因子是什么意思,所以他将这个问题交给你了,请你帮他解决这个问题。
输入描述
输入仅一行一个整数 n。
输出描述
输出一行一个答案。
思路:
这题也未免太简单了吧?
直接判断n是否是质数,如果是就输出0,不是就输出1。
如果n不是质数,n分解质因数一定=p1^a1*p2^a2*......*pk^ak。我们永远可以找到一个数,是的n除以这个数为质数。
注意事项:
这里不能这样写:
for(int i=2; i*i<=n; i++)
{
if(a%i==0)
{
cout<<1;
return 0;
}
}
cout<<0;
因为这样i*i会超过int范围。
代码如下代(A):
#include<iostream&