C++ C++;:算法输出错误(适用于java)
有人能帮我写代码吗?我尝试使用不同的算法,但它返回到大数字,当我使用介于/**/之间的算法时,它工作得非常完美,任何人都可以看到我的新代码有什么问题?(与java works相同)C++ C++;:算法输出错误(适用于java),c++,methods,C++,Methods,有人能帮我写代码吗?我尝试使用不同的算法,但它返回到大数字,当我使用介于/**/之间的算法时,它工作得非常完美,任何人都可以看到我的新代码有什么问题?(与java works相同) int*czynnikiPierwsze(int n)抛出(字符串){ if(n2){ n=n/tab[n-2]; b++; } dzielniki=新的整数[b](); int j=0; 而(n>2){ dzielniki[j]=表[n-2]; n=n/tab[n-2]; j++; } /*int a=n; int
int*czynnikiPierwsze(int n)抛出(字符串){
if(n2){
n=n/tab[n-2];
b++;
}
dzielniki=新的整数[b]();
int j=0;
而(n>2){
dzielniki[j]=表[n-2];
n=n/tab[n-2];
j++;
}
/*int a=n;
int*dzielniki=新int[30]();
对于(int j=0;j2){
dzielniki[j]=表[n-2];
n=n/tab[n-2];
打破
}
}*/
返回dzielniki;
}
第二个而(n>2)
循环也不可能运行一次,因为第一个循环只有在相同条件不再成立时才会退出。不是这样,在添加a=n并在第二个循环中使用一个后,它仍然不起作用。在不知道算法应该做什么的情况下,我们无法给出答案。
int* czynnikiPierwsze(int n)throw (string){
if(n<0){
string wyjatek1="Nie mozna rozlozyc ujemnej liczby";
throw wyjatek1;
}
int b=0;
while(n>2){
n=n/tab[n-2];
b++;
}
dzielniki=new int[b]();
int j=0;
while(n>2){
dzielniki[j]=tab[n-2];
n=n/tab[n-2];
j++;
}
/* int a=n;
int*dzielniki=new int[30]();
for(int j=0;j<n+a;j++){
while(n>2){
dzielniki[j]=tab[n-2];
n=n/tab[n-2];
break;
}
}*/
return dzielniki;
}