#include<cstdio>
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
bool prime(int n){
bool yes=true;
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
yes=false;
break;
}
}
return yes;
}
int main()
{
int num,ans=0;
scanf("%d",&num);
int Max=floor(sqrt(num));
for(int i=2;i<=Max;i++)
{
if(prime(i)==true)
{
if(num%i==0)
{
ans++;
while(num%i==0)
{
num/=i;
}
}
}
}
cout<<ans<<endl;
return 0;
}
求各位幫我看看哪錯了,總是少一個。
uj5u.com熱心網友回復:
https://paste.ubuntu.com/p/72gq4s2pmk/樓主你看看這個,我做了修改,應該可以過了,你的問題主要是求素數的函式以及和求一個整數的因數的程序
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/19183.html
標籤:C++ 語言
上一篇:code::blocks下編譯的C++程式無法運行,提示(0xc000007b)
下一篇:c語言關于float問題
