您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

查找给定整数的所有精确除数的算法

查找给定整数的所有精确除数的算法

首先,您的代码应具有条件i <= n/2,否则它可能会遗漏其中一个因素,例如,如果n = 12,则不会打印6。

将循环运行到数字的平方根(即i <= sqrt(n)),并同时打印in/i(均为n的倍数)。

{
   int n;
   int i=2;
   scanf("%d",&n);
   while(i <= sqrt(n))
    {
        if(n%i==0) {
            printf("%d,",i);
            if (i != (n / i)) {
                printf("%d,",n/i);
            }
        }

        i++;
    }
   getch();
}

注意 :

其他 2022/1/1 18:15:42 有438人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶