0
클래스에 대한 코드를 작성하려고합니다. 이 프로그램은 사용자가 숫자를 입력하게하고 그것의 계승의 각 요소의 지수를 출력합니다. 예를 들어 사용자가 5 번을 입력하면 출력은 3 1 1 (2^3, 3^1, 5^1)이됩니다. 지금까지 계승의 주요 요인을 얻는 코드가 있습니다. 그러나 나는 지수를 얻을 수 없습니다.계승의 소수 요소의 출력 전력
내 코드는 다음과 같습니다 :
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
int main()
{
int number, factor, exp, product, x, factorial=1;
cout <<"PRIME FACTORIALS" <<endl;
cout <<" " <<endl;
cout <<"Welcome! This program allows users to find the prime factors of a number and its exponents or how many times each prime factor is multiplied." <<endl;
cout <<" " <<endl;
cout <<"To begin, please input a positive integer below:" <<endl;
cin >>number;
if ((number<1) || (number>100))
{
cout <<"You have entered a number that is out of range. Please enter a number from 1-100." <<endl;
system("PAUSE");
system("cls");
main();
}
else
{
for (x=1; x<=number; x++)
{
factorial=factorial*x;
for (factor=2; factor<=factorial; factor++)
{
while (factorial%factor==0)
{
factorial/=factor;
cout <<factor <<" ";
}
}
}
}
}
예, 해결했습니다. 내가 어떻게 주요 요인의 지수를 출력 할 수 있었는지 생각해보십시오. – Jean
각 요소에 대해 부서가 성공한 횟수를 계산합니다. (현재 귀하는 현재 주요 요인뿐만 아니라 가능한 모든 요소를 시도하고 있습니다.) –
cf. https://stackoverflow.com/questions/21196814/prime-numbers-and-factorials/21235844#21235844 –