我已經潛伏了多年,但今天我有一個關於我的代碼的問題。我目前正在嘗試創建一個collatz程序,它將某個數字的步數放在一個數組中,但同時會爲每個經過的數字設置步數。這裏是我的代碼: public class GenerousRecursion {
public static short steps;
public static int length;
public
我正在研究一個程序,該程序確定使用Collatz猜想將數字變爲1所需的步驟數(如果n是奇數,3n + 1;如果n是偶數,則n/2)。程序每完成一次計算就增加一個計算的數字,並測試它可以在幾秒鐘內計算出多少個數字。這裏是工作程序我目前有: public class Collatz {
static long numSteps = 0;
public static long c
我正在寫一個遞歸方法來計算正整數序列的collatz猜想。但是,當數值達到1時不是停止計算,而是當數值變得小於或等於原始值時,我需要停止計算。我無法弄清楚我應該在if語句中加入什麼條件。 int collatz (int n) {
printf("%d%s", n, " ");
if(n > collatz(n)) { // here I would get an err
我無望地試圖在collatz序列中生成一個無限循環的所有數字。 該程序應該從一開始打印所有可能的collatz,直到用戶停止,或者我們得到一個內存溢出。所以我們必須是一個逆collatz函數。 邏輯是這樣的:(當n爲偶數重複它,如果n/3是一個整數,我們做相反的操作,奇數操作) import java.math.BigInteger;
public class InverseCol
/**
* Created by abdul on 10/17/2016.
*/
import java.util.Scanner;
public class CollatzSequence {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.ou