当前位置:  开发笔记 > 编程语言 > 正文

我该如何计算出这种复杂的递归算法呢?

如何解决《我该如何计算出这种复杂的递归算法呢?》经验,为你挑选了2个好方法。

我刚刚开始用Java教授数据结构和算法.到目前为止,我在生活中只学过C++,所以我对使用java仍然很新.

无论如何我有一个功课问题我有点困惑:

写一个递归方法,返回N的二进制表示中的1的数量.如果N是奇数,则使用这个等于N/2 + 1表示中1的数量的事实.

现在我不确定如何做到这一点.我已经有一个函数设置,它接受一个整数并将其转换为二进制并将其存储在一个字符串中,但其余的我有点迷失.

如果我能得到一些指导,那真的会有所帮助.

这是我到目前为止:

import java.io.*;
public class Homework1Code {
  static void prtbinary(String Molly, int size){
    if(size <=0){
      return;
    }
  }

  public static void main(String[] args) {
    int i = 38;
    String binstr = Integer.toBinaryString(i);
    System.out.println("The Original Decimal Number is: " + binstr);
    prtbinary(binstr, binstr.length());
  }
}

谢谢



1> Stefan Arent..:

这不是一个难以解决的问题.你需要做的是停止编写代码并首先在纸上解决问题.然后将您的算法转换为代码.



2> eleven81..:

第一步:想一想!

编写返回类型为void的递归方法非常困难.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有