30/09/2018, 16:11

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

Hồng Thiện viết 18:17 ngày 30/09/2018

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

Hồng Thiện viết 18:19 ngày 30/09/2018

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();
    }
}
Nguyễn Minh Dũng viết 18:26 ngày 30/09/2018

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

Nguyễn Tuấn viết 22:36 ngày 20/11/2018
#by python def so(a): b=int(a) while b!=1: k=b%2 if k==0: b=b//2 print(b) continue else: b=b*3+1 print(b) continue
Bài liên quan
0