gpt4 book ai didi

c - 计算数字除数的最佳算法是什么?

转载 作者:行者123 更新时间:2023-11-30 19:52:58 25 4
gpt4 key购买 nike

我需要一个计算除数的最佳算法。我的算法需要很多时间才能给出答案。

这是我的代码中计算除数的部分。

int divisor_counter (int n) {
for (int j = 1; j <= n; j++)
{
if (n % j == 0)
{
counter++;
}
}
return counter;
}

最佳答案

这里有一个函数可以帮助您。(您可以在 https://www.geeksforgeeks.org/find-divisors-natural-number-set-1/ 中找到它)

int divisor(n){
int counter=0;
for(int j=1;j <= sqrt(n);j++) {
if(n%j==0)//If divisor counts your number
{
if(n/j==j)
counter++;//Here because quotient is the same as divisor, one counter should be added
else
counter+=2;//Here we should add two divisors; *j*(divisor) and *n/j*(quotient)
}

}//End Of for

return counter;//print number of divisors
}

input:12

output:1,2,3,4,6,12

此算法是最佳算法之一,如果您有时间限制,您可以使用它。

我建议你使用这个算法,因为在大型程序中你可能会遇到时间问题并且很难处理。

我将解释这个程序。事实上,如果其中一个 j 计算出您的数字,你将面临两个选择:

首先,如果除数相同,则只需添加>一个计数器。其次,如果除数不同,则添加两个计数器;第一个计数器为除数>除数,第二个

关于c - 计算数字除数的最佳算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58993683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com