c程序获取素数错误i
Posted
技术标签:
【中文标题】c程序获取素数错误i【英文标题】:c program of getting prime factor error i 【发布时间】:2022-01-10 22:42:19 【问题描述】:当它为 outputlast 输出 repat itslef 时,您会看到它是一个获取素数的代码,例如- 输入为 15 输出应该是 3 和 5 但它给出了 3 5 和 5
#include <stdio.h>
#include <string.h>
int primefac(int n, int count)
while (n > 2)
int i = 2;
while (n % count == 0)
if (count % i == 0 && count == i)
printf("%d\n", count);
n = n / count;
primefac(n, 3);
else
i++;
count++;
int main()
int n, i = 3, j = 2; // i to get prime factor j is for to check i is prime or not .
//n takes input
scanf("%d", &n);
while (n % 2 == 0)
printf("%d\n ", 2); // it prints if the no has factors of 2;
n = n / 2; // it removes factor of from n;
primefac(n, 3);
return 0;
【问题讨论】:
你调试了吗?如果有,你发现了什么?在调试器中运行您的程序,并逐行检查它,以便在它运行时检查它。 How to debug small programs. @kaylum 我不知道如何调试任何程序?? 【参考方案1】:if语句中函数的内部调用
if (count % i == 0 && count == i)
printf("%d\n", count);
n = n / count;
primefac(n, 3);
输出 5,函数的调用者也为数字 15 输出 5。
【讨论】:
@peter 我没明白,请您详细说明或提供正确的代码.. 谢谢以上是关于c程序获取素数错误i的主要内容,如果未能解决你的问题,请参考以下文章