VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test
Java Cơ Bản Các Khái Niệm Java OOPs Java String

Bài Tập Java

Danh sách bài tập java

Lời Giải Bài Tập Java Cơ Bản 1

Giải phương trình bậc 2 Tính giai thừa Chuyển đổi hệ cơ số Dãy so Fibonacci Tìm UCLN và BCNN Liệt kê tất cả số nguyên tố nhỏ hơn n Liệt kê n số nguyên tố đầu tiên Liệt kê tất cả số nguyên tố có 5 chữ số Phân tích số nguyên Tính tổng của các chữ số của một số nguyên Số thuận nghịch Fibonacci nhỏ hơn n là nguyên tố Viết chương trình java tính hàm SLOPE trong excel

Lời Giải Bài Tập Java Cơ Bản 2

Đếm số từ của một sâu ký tự Số lần xuất hiện các từ trong một sâu Sâu s1 chứa sâu s2?

Lời Giải Bài Tập Mảng (Array) Trong Java

Liệt kê các phần tử xuất hiện trong mảng đúng 1 lần Liệt kê các phần tử xuất hiện trong mảng đúng 2 lần Liệt kê số lần xuất hiện của các phần tử trong một mảng Sắp xếp mảng theo thứ tự tăng dần Sắp xếp mảng theo thứ tự giảm dần Chèn phần tử vào mảng trong java Trộn 2 mảng trong java

Lời Giải Bài Tập Java Nâng Cao

Lời giải bài tập QLSV Bài tập quản lý sinh viên trong java - Tạo giao diện bằng Swing
Xử Lý Ngoại Lệ Các Lớp Lồng Nhau Đa Luồng (Multithreading) Java I/O Lập Trình Mạng Với Java Java Date Chuyển Đối Kiểu Dữ Liệu Java Collections Java JDBC Các Tính Năng Mới Trong Java Câu Hỏi Phỏng Vấn Java
1 / 3
❮ ❯

Bài tập Java - Tìm số thuận nghịch trong java


Bài tập Java - Tính tổng của các chữ số của môt số nguyên n trong Java
Bài tập Java - Liệt kê số Fibonacci nhỏ hơn n và là số nguyên tố

Nội dung chính

  • Bài tập Java - Tìm số thuận nghịch trong java
  • Lời giải

Bài tập Java - Tìm số thuận nghịch trong java

Đề bài: Viết chương trình tìm các số thuận nghịch có sáu chữ số từ 100000 đến 999999. Một số được gọi là số thuận nghịch nếu nó bằng số đảo ngược, tức là ta đọc từ trái sang phải hay từ phải sang trái số đó ta vẫn nhận được một số giống nhau. Ví dụ 123321 là một số thuận nghịch.

Tính tổng của các chữ số của môt số nguyên n trong java

Lời giải

Cách 1: Duyệt các số từ 100000 đến 999999, rồi phân tách số hiện tại thành các chữ số đơn lẻ để kiểm tra tính thuận nghịch.

File: BaiTap11.java


package vn.viettuts.baitap;

import java.util.ArrayList;
import java.util.List;

/**
 * Chương trình liệt kê tất cả các số thuận nghịch có 6 chữa số.
 * 
 * @author viettuts.vn
 */
public class BaiTap11 {
    public static int DEC_10 = 10;
    
    /**
     * main
     * 
     * @param args
     */
    public static void main(String[] args) {
        int count = 0;
        // in ra màn hình các số thuận nghịch có 6 chữ số
        for (int i = 100000; i < 1000000; i++) {
            if (isThuanNghich(i)) {
                System.out.println(i);
                count++;
            }
        }
        System.out.println("Tổng các số thuận nghịch có 6 chữ số: " 
                + count);
    }
    
    
    /**
     * Kiểm tra số thuận nghịch
     * 
     * @param n: số nguyên dương
     * @return true là số thuận nghịch
     *         false không là số thuận nghịch
     */
    public static boolean isThuanNghich(int n) {
        List<Integer> listNumbers = new ArrayList<>();
        // phân tích số n thành các chữ số và lưu vào listNumbers
        do {
            listNumbers.add(n % DEC_10);
            n = n / DEC_10;
        } while (n > 0);
        // kiểm tra tính thuận nghịch
        int size = listNumbers.size();
        for (int i = 0; i < (size/2); i++) {
            if (listNumbers.get(i) != listNumbers.get(size - i - 1)) {
                return false;
            }
        }
        return true;
    }
}

Kết quả:

100001
101101
102201
...
997799
998899
999999
Tổng các số thuận nghịch có 6 chữ số: 900

Cách 2: sử dụng thuật toán + StringBuilder trong java


/**
 * Chương trình liệt kê tất cả các số thuận nghịch có 6 chữa số.
 * 
 * @author viettuts.vn
 */
package vn.viettuts.baitap;

public class BaiTap11_2 {
    public static final int[] DEC_ARR_1_9 = {1, 2, 3, 4, 5, 6, 7, 8, 9};
    public static final int[] DEC_ARR_10 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    
    /**
     * main
     * 
     * @param args
     */
    public static void main(String[] args) {
        int count = 0;
        StringBuilder sb;
        // in ra màn hình các số thuận nghịch có 6 chữ số
        for (int a : DEC_ARR_1_9) {
            for (int b : DEC_ARR_10) {
                for (int c : DEC_ARR_10) {
                    sb = new StringBuilder();
                    sb.append(a).append(b).append(c).append(c).append(b).append(a);
                    System.out.println(sb.toString());
                    count++;
                }
            }
        }
        System.out.println("Tổng các số thuận nghịch có 6 chữ số: " 
                + count);
    }
}

Kết quả:

100001
101101
102201
...
997799
998899
999999
Tổng các số thuận nghịch có 6 chữ số: 900

Cách 3: Chuyển đổi n thành chuỗi String rồi kiểm tra tính thuận nghịch.


package vn.viettuts.baitap;

/**
 * Chương trình liệt kê tất cả các số thuận nghịch có 6 chữa số.
 * 
 * @author viettuts.vn
 */
public class BaiTap11_3 {
    
    /**
     * main
     * 
     * @param args
     */
    public static void main(String[] args) {
        int count = 0;
        // in ra màn hình các số thuận nghịch có 6 chữ số
        for (int i = 100000; i < 1000000; i++) {
            if (isThuanNghich(i)) {
                System.out.println(i);
                count++;
            }
        }
        System.out.println("Tổng các số thuận nghịch có 6 chữ số: " 
                + count);
    }
    
    
    /**
     * Kiểm tra số thuận nghịch
     * 
     * @param n: số nguyên dương
     * @return true là số thuận nghịch
     *         false không là số thuận nghịch
     */
    public static boolean isThuanNghich(int n) {
        // chuyển đổi số n thành một chuỗi String
        String numberStr = String.valueOf(n);
        // kiểm tra tính thuận nghịch
        int size = numberStr.length();
        for (int i = 0; i < (size/2); i++) {
            if (numberStr.charAt(i) != numberStr.charAt(size - i - 1)) {
                return false;
            }
        }
        return true;
    }
}

Kết quả:

100001
101101
102201
...
997799
998899
999999
Tổng các số thuận nghịch có 6 chữ số: 900

Bài tập Java - Tính tổng của các chữ số của môt số nguyên n trong Java
Bài tập Java - Liệt kê số Fibonacci nhỏ hơn n và là số nguyên tố

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Java Swing - Bài tập quản lý sinh viên trong javaLinkedList trong javaArrayList trong javaBài tập java có lời giảiSử dụng Javascript trong HTMLToán tử dấu 2 chấm (::) trong Java 8Lambda Expression - Biểu thức Lambda trong java 8Bài tập Java - Sắp xếp nhanh (Quick Sort) trong JavaBài tập Java - Sắp xếp chèn (Insertion Sort) trong JavaBài tập Java - Sắp xếp nổi bọt (Bubble Sort) trong JavaBài tập quản lý sinh viên trong JavaHashSet trong java

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml