0
我需要找到codechef中問題的整數(n)的除數的數目。我寫了下面的程序來計算除數的數量。但該計劃超出了時間限制。有沒有什麼辦法來優化我的方法來解決這個問題?你能提出一個更快的算法嗎?查找整數的因數
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int n,i=1,d=0;
while(i<=sqrt(n))
{
if(n%i==0)
{
d++;
if(i!=(n/i))
d++;
}
i++;
}
cout<<d;
從這裏開始:https://www.google.com/search?num=100&q=number+of+divisors –
當你做INT N,I = 1,d = 0;你的n和i都是1,所以我在while(i <= sqrt(n))永遠不會小於1的平方根。這就是爲什麼它永不停止。 – Atirag