【问题标题】:C++: Algorithm wrong output ( works on java ) [closed]C ++:算法错误输出(适用于java)[关闭]
【发布时间】:2014-04-02 15:55:52
【问题描述】:

有人可以帮我写代码吗?我正在尝试使用不同的算法,但它返回到大数字,当我在 /* */ 之间使用算法时,它工作得很好,任何人都可以看到我的新代码有什么问题? (在 java 上也一样)

   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;
        }

【问题讨论】:

  • 在不知道算法应该做什么的情况下,我们无法给您答案。

标签: c++ methods


【解决方案1】:

您的第二个 while(n&gt;2) 循环不可能运行一次,因为第一个循环仅在相同条件不再成立时才退出。

【讨论】:

  • 不是这样,在添加 a=n 并在第二个循环中使用后它仍然不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-28
相关资源
最近更新 更多