Practice (Chapter 4)

Bài tập:
1.  Kết quả chương trình sau bằng bao nhiêu ?
a. 
public class Main {
      public static void main(String[] args) {
            int x = 11 & 9;
            System.out.println(x);
      }
}

b.
public class Main{
      public static void main(String[] args) {
            int x = 10 | 5;
            System.out.println(x);
      }
}

c.
public class Main {
       public static void main(String[] args) {
              int x = 0x80000000;
              System.out.println("x = " + x);
              x = x >> 31;
              System.out.println("x = " + x);
       }
}

d.  Kết quả biểu thức sau:
- biểu thức 1: !x || x
     - biểu thức 2: (!x || x) && y


e. Kết quả b bằng bao nhiêu ?
int a = 129;
byte b = (byte)a;
System.out.println(b);

2. Viết chương trình nhập vào một số nguyên dương và in ra số n có phải là số nguyên tố không?
    Ví dụ: n = 11 → là số nguyên tố.
              n = 10 → không phải số nguyên tố.Bài giải:
Bài giải:

3. Viết chương trình in ra các số nguyên tố từ 1 đến n. số n nhập từ bàn phím. Ví dụ: n = 10, in ra các số nguyên tố bé hơn 10 là: 2, 3, 5, 7. Số nguyên tố là số chỉ chia hết cho 1 và chính nó. Ví dụ số 7 chỉ chia hết cho 1 và số 7.
Bài giải:

4. Viết chương trình kiểm tra số n có phải là số hoàn hảo không, n nhập từ bàn phím. Số n gọi là số hoàn hảo nếu nó bằng tổng các ước số của nó không kể ước số chính nó.
Ví dụ: nhập n = 6; 6 = 1 + 2 + 3 ( tổng các ước số không kể chính nó)
nhập n = 28; 28 = 1 + 2 + 4 + 7 + 14
Bài giải:
import java.util.Scanner;

public class SoHoanHao {
       public static void main(String[] args) {
              Scanner input = new Scanner(System.in);
             
              System.out.print("Nhập n = ");
              int n = input.nextInt();
              int i = 1;
              System.out.print("Số hoàn hảo nhỏ hơn " + n + ": ");
              while(i < n) {
                     int s = 0;
                     for (int j = 1; j < i; j++) {
                           if (i % j == 0) {
                                  s += j;
                           }
                     }
                     if (s == i) {
                           System.out.print(i + ", ");
                     }
                     i++;
              }
       }
}

Kết quả:


5. Viết chương trình tính giai thừa của số n, n nhập từ bàn phím. Giai thừa n, ký hiệu n! = 1*2*…*n.
Bài giải:

6Viết chương trình in ra tất cả bảng cửu chương 2, 3, ..., 9. Dạng như sau:
Bảng cửu chương 2:
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10 = 20
.......
Bảng cửu chương 9:
9 x 0 = 0
9 x 1 = 9
9 x 2 = 18
9 x 3 = 27
9 x 4 = 36
9 x 5 = 45
9 x 6 = 54
9 x 7 = 63
9 x 8 = 72
9 x 9 = 81
9 x 10 = 90

7Cho ví dụ sử dụng hàm static.
Bài giải:

8. Chuỗi ANAGRAM (đề thi học sinh chuyên tin lớp 10 Cần Thơ 2009-2010)
    Hai chuỗi ký tự được gọi là ANAGRAM với nhau nếu chúng có các từ hoàn toàn giống nhau, nhưng có trật tự sắp xếp khác nhau.
   Ví dụ: Chuỗi abc def gha và chuỗi def gha abc là hai chuỗi ANAGRAM.
   Yêu cầu: Nhập từ bàn phím hai chuỗi ký tự( mỗi chuỗi chỉ chứa các ký tự a..z và khoảng trống, độ dài của mỗi chuỗi không quá 50 ký tự ). Cho biết chúng có phải là hai chuỗi ANAGRAM hay không.
    Ví dụ 1:
               Nhap chuoi 1: abc def gha
               Nhap chuoi 2: def gha abc
               Tra loi: hai chuoi ANAGRAM
   Ví dụ 2:
               Nhap chuoi 1: abc def gha
               Nhap chuoi 2: edf gha abc
               Tra loi: khong.
Bài giải: