看,n<=1000000000,这么长,用int肯定没戏!看来只能用long long(长整型变量)了。
简单说一下long long的取值范围:
-922 3372 0368 5477 5808 ~ 922 3372 0368 5477 5807 (922*10^16).
#include <iostream>
using namespace std;
int main()
{
先打出熟悉的三件套。
long long n,i=2,t;
cin>>n;
定义变量n,i,t;输入n。(i和t有啥用后面讲)
while(i<n){
if(n%i==0){
cout<<i<<" ";
t++;
}
i++;
}
i是因数,而t在这里起一个标记的作用。
标记就是说,你这个t如果大于0,那就代表if执行过,也就是说这个数除了1和它本身,还有别的因数,就输出i(要加空格)。
if(t==0){
cout<<"-1";
}
而如果t=0,代表if没执行过,说明这个数除了1和它本身,没别的因数了,输出“-1”。
return 0;
}
搞定!