Tuesday, January 26, 2016
On 8:31 PM by MATH CHANNEL in Lập trình Java cơ bản 1 comment
Chương trình liệt kê tất cả các xâu nhị phân độ dài n
import java.util.Scanner;
public class Main {
public static int nhapSoTN() {
Scanner
input = new Scanner(System.in);
boolean check = false;
int n = 0;
while (!check) {
try {
n = Integer.parseInt(input.nextLine());
if (n < 0) {
System.out.println("Bạn phải
nhập số tự nhiên! Hãy nhập lại.");
continue;
}
check = true;
}
catch (Exception e) {
System.out.println("Bạn phải
nhập số tự nhiên! Hãy nhập lại.");
}
}
return (n);
}
public static int
convertStringBinary2DecimalNumber(String binary) {
int n = 0;
for (int i = 0; i < binary.length(); i++) {
if (binary.charAt(i) == '1') {
n = n + 1 * (int) Math.pow(2, binary.length() - i - 1);
}
else if (binary.charAt(i) == '0') {
n = n + 0 * (int) Math.pow(2, binary.length() - i - 1);
}
}
return n;
}
public static void
inDayNhiPhanDoDai_n(int n) {
String
nhiphan_min = "", nhiphan_max = "";
for (int i = 0; i < n; i++) {
nhiphan_min += "0";
nhiphan_max += "1";
}
int a = convertStringBinary2DecimalNumber(nhiphan_min);
int b = convertStringBinary2DecimalNumber(nhiphan_max);
int dodai_b = Integer.toBinaryString(b).length();
for (int i = a; i <= b; i++) {
String
str = Integer.toBinaryString(i);
if (str.length() < dodai_b) {
while (str.length() < dodai_b) {
str = "0" + str;
}
System.out.println(str);
}
else {
System.out.println(str);
}
}
}
public static void main(String[] args) {
System.out.println("Chương trình
liệt kê tất cả các xâu nhị phân độ dài n.");
System.out.println("Nhập độ dài
n:");
int n = nhapSoTN();
inDayNhiPhanDoDai_n(n);
}
}
Hoặc
dùng method
public static void
inDayNhiPhanDoDai_n(int n) {
int[] array = new int[n];
int tich;
do {
tich = 1;
System.out.println("");
for (int j = 0; j < n; j++) {
System.out.print(array[j]);
tich *= array[j];
}
int i = n - 1;
do {
if (array[i] == 0) {
array[i] = 1;
for (int j = n - 1; j > i; j--) {
array[j] = 0;
}
break;
}
else
i--;
}
while (i >= 0);
}
while (tich != 1);
}
Subscribe to:
Post Comments (Atom)
Search
Popular Posts
-
SƠ ĐỒ NHẬN BIẾT CÁC LOẠI TỨ GIÁC DẤU HIỆU NHẬN BIẾT CÁC HÌNH Hình thang cân 1. Hình thang có hai góc kề một đáy bằng nhau là hìn...
-
$\boxed{\text {Bổ đề hình thang: }}$ Trong hình thang hai đáy không bằng nhau, giao điểm của hai đường thẳng chứa hai cạnh bên, giao điể...
-
SƠ ĐỒ NHẬN BIẾT CÁC LOẠI TAM GIÁC DẤU HIỆU NHẬN BIẾT CÁC HÌNH Tam giác cân 1. Tam giác có hai cạnh bằng nhau là tam giác cân....
-
$\boxed{\text {Bài toán 1: }}$ (Đề thi HKII 2008-2009 Q11 TpHCM) Cho tam giác ABC có các góc đều nhọn và có ba đường cao là AD, BE, CF c...
-
$\boxed{\text {Bài toán: }}$ Cho O, H, G lần lượt là tâm đường tròn ngoại tiếp, trực tâm, trọng tâm của $\triangle$ ABC. Chứng minh rằng...
-
Để tìm ƯCLN, BCNN của các số tự nhiên, người ta thường dùng những cách sau: Cách 1 : Phân tích các số ra thừa số nguyên tố Vd: Tìm ƯC...
-
Bạn cần download tài liệu, ebook,... phục vụ cho việc học tập nghiên cứu từ các trang Scribd, Issuu, Slideshare và Academia một cách nhanh...
-
Chương trình Tìm Ước chung lớn nhất và Bội chung nhỏ nhất của một dãy các số tự nhiên import java.util.Scanner; public class Main ...
-
Chương trình chuyển đổi một số tự nhiên ở hệ thập phân thành số ở hệ nhị phân, bát phân, thập lục phân và hệ cơ số bất kì import java.u...
-
Dãy số Fibonacci được định nghĩa như sau: F[0] =1, F[1] = 1; F[n] = F[n-1] + F[n-2] với n>=2. Hãy viết chương trình tìm số Fibonacci thứ ...
Recent Posts
Categories
- Công nghệ thông tin
- Đại số 10
- Đại số 7
- Đại số 8
- Đại số 9
- Đề thi Toán 6
- Đề thi Toán 7
- Đề thi Toán 8
- Đề thi Toán 9
- Đố Toán
- Grade 6 Math
- Grade 8 Math
- Grade 9 Math
- Hình học 6
- Hình học 7
- Hình học 8
- Hình học 9
- Khác
- Lập trình Java cơ bản
- Math Puzzles
- Mathematical game
- Phương pháp học Toán
- Số học 6
- Số và Đại số 6
- Toán tham khảo 6
- Toán tham khảo 8
- Toán tham khảo 9
- Toán thực tế
- Toán và cuộc sống
Blog Archive
-
▼
2016
(91)
-
▼
January
(13)
- [SỐ HỌC 6] RÚT GỌN PHÂN SỐ
- [SỐ HỌC 6] MỞ RỘNG KHÁI NIỆM PHÂN SỐ
- [ĐẠI SỐ 9] ĐỊNH LÍ VIÈTE
- Thuật toán Liệt kê tất cả các dãy con k phần tử củ...
- Thuật toán Liệt kê tất cả các xâu nhị phân độ dài ...
- Hãy cẩn thận với bài toán...không rõ nguồn gốc
- Thuật toán Liệt kê số thuận ngịch độc trong Java
- Các sai lầm trong phương pháp học toán
- Bài toán mất tiền
- [ĐẠI SỐ 9] VỊ TRÍ TƯƠNG ĐỐI CỦA PARABOL VÀ ĐƯỜNG T...
- [ĐẠI SỐ 9] HÀM SỐ & ĐỒ THỊ CỦA HÀM SỐ $y = a{x^2}\...
- Toán thực tế (003)
- Toán thực tế (006)
-
▼
January
(13)
My Fanpage
Số lượt xem
Hỗ Trợ Trực Tuyến
Vườn Toán - Tin học. Powered by Blogger.
Thuật toán này rất hữu ích, cảm ơn tác giả
ReplyDelete