Chương trình về Collatz Sequence

Viết chương trình về Collatz Sequence.

Nhập n là số tự nhiên

  • nếu n là chẵn , thì n = n/2
  • nếu n là lẽ . thì n =3*n +1
  • lặp lại cho đến khi số đó bằng 1

Ví dụ

  • Nhập n = 6
    Sẽ in ra trình tự : 6 3 10 5 16 8 4 2 1

  • Nhập n = 11
    Sẽ in ra : 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

2 Likes

Quên nữa. Cám ơn ai đã xem qua topic mình nhé :blush:

1 Like

Em đã giải đc rồi, đây là code của em. Cảm ơn mọi người đã xem qua

import java.util.Scanner;

public class bai1
{
    public static void main(String[] args)
    {
        Scanner keyboard = new Scanner(System.in);

        System.out.print("Starting Number: ");
        int n = keyboard.nextInt();
        int i = 0;
        int j = 0;
        int k = 0;
        System.out.print(n + " ");

        while ( n != 1 )
        {
            if ( ( n & 1 ) == 0 )
            {
                System.out.print( (n = ( n / 2 )) + " " );
                j++;
                i++;
            }
            else
            {
                System.out.print( (n = ( n * 3 ) + 1) + " " );
                j++;
                i++;
            }

            if ( n > k )
            {
                k = n;
            }

            if (i == 9)
            {
                i = 0;
                System.out.print("\n");
            }
        }

        System.out.println();
    }
}
2 Likes

Giỏi quá, anh không kịp phản ứng gì luôn :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?