Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
521,42 KB
Nội dung
Chương 1: Các phép toán – PHÉP GÁN: 1.1 BÀI TẬP Nhập vào bán kính hình tròn Tính chu vi diện tích hình tròn import java.util.Scanner; public class Bai1_1 { public static void main(String[] args) { // Input Scanner in = new Scanner(System.in); System.out.print("Nhap ban kinh hinh tron:"); double r = in.nextDouble(); // Process double d = * Math.PI * r; double s = Math.PI * r * r; // Output System.out.println("Chu vi la " + d); System.out.println("Dien tich la " + s); } } 1.2 Nhập vào góc có số đo độ Đổi góc đơn vị radian tính sin, cosin, tg, cotg góc 1.3 Nhập vào tổng số giây Hãy chuyển đổi sang giờ, phút, giây in theo dạng h:m:s Ví dụ: 1999 giây => 5:3:19 public class Bai1_3 { public static void main(String[] args) { // Input Scanner in = new Scanner(System.in); System.out.print("Nhap so giay :"); int second = in.nextInt(); // Process int hour = second / 3600; second = second % 3600; int minute = second / 60; second = second % 60; // Output System.out.println(hour + ":" + minute + ":" + second); } } 1.4 Nhập vào độ cao h vật rơi tự Tính thời gian vận tốc vật lúc chạm đất theo 2h công thức sau: Thới gian t = vận tốc v = gt g 1.5 Nhập vào số thực xA, yA, xB, yB hoành độ tung độ điểm A, B Tính khoảng cách d điểm theo cơng thức d = ( xA xB ) ( yA yB ) CÂU LỆNH RẼ NHÁNH 1.6 Cho số thực a b Tìm số lớn số 1.7 a)Cho vào năm dương lịch Xét năm có phải năm nhuận khơng b) Cho vào tháng năm Tính số ngày tháng public class Bai2_2 { static void cauA(){ Scanner in = new Scanner(System.in); System.out.print("Nhap nam: "); int year = in.nextInt(); if ((year % == && year % 100 != 0) || (year % 400 == 0)) System.out.println(year + " la nam nhuan"); else System.out.println(year + " khong la nam nhuan"); } static void cauB(){ Scanner in = new Scanner(System.in); System.out.print("Nhap thang: "); int month = in.nextInt(); System.out.print("Nhap nam: "); int year = in.nextInt(); int days = 0; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 4: case 6: case 9: case 11: days = 30; break; case 2: if ((year % == && year % 100 != 0) || (year % 400 == 0)) days = 29; else days = 28; break; } System.out.println("So la : " + days); } public static void main(String[] args) { cauA(); cauB(); } } 1.8 Cho hệ số a b phương trình ax + b = Tìm nghiệm phương trình 1.9 Cho hệ số a, b c phương trình ax2 + bx + c = Tìm nghiệm phương trình public class GiaiPTB2 { public static void main(String[] args) { float a, b, c, x1, x2; // Nhap du lieu Scanner in = new Scanner(System.in); System.out.print("Hay so cac he so a, b, c:"); a = in.nextFloat(); b = in.nextFloat(); c = in.nextFloat(); if (a == 0) { System.out.println("Day la phuong trinh bac 1"); if (b != 0) { System.out.println("Nghiem cua phuong trinh x = " + -c / b); } else if (c != 0) { System.out.println("Phuong trinh vo nghiem"); } else { System.out.println("Phuong trinh co vo so nghiem"); } } else { // a !=0 float delta = b * b - * a * c; if (delta < 0) { System.out.println("Phuong trinh vo nghiem"); } else if (delta == 0) { System.out.println("Phuong trinh co nghiem kep x=" + -b/(2*a)); } else { x1 = (-b + (float) Math.sqrt(delta)) / (2 * a); x2 = (-b - (float) Math.sqrt(delta)) / (2 * a); System.out.println("Phuong trinh có nghiem"); System.out.println("x1 = " + x1); System.out.println("x2 = " + x2); } } } } 1.10 Cho a1, b1, a2, b2 điểm đầu mút đoạn [a1, b1] [a2, b2] trục số Tìm độ dài phần giao phần hợp đoạn public class DoanChung { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Nhap a1 va b1: "); int a1 = in.nextInt(); int b1 = in.nextInt(); System.out.print("Nhap a2 va b2: "); int a2 = in.nextInt(); int b2 = in.nextInt(); int d1 = a1 < a2 ? a2 : a1; int d2 = b1 < b2 ? b1 : b2; if (d1 c && b + c > a && c + a > b) return true; else return false; } public double perimeter() { return a + b + c; } public double area() { double p = (a + b + c) / 2; return Math.sqrt(p*(p-a)*(p-b)*(p-c)); } public double angleA() { double cosA = (b*b + c*c - a* a)/(2*b*c); double tgA = Math.sqrt(1/(cosA*cosA) - 1); return (Math.atan(tgA) * 180) / Math.PI; } public static void main(String[] args) { Triangle triangle = new Triangle(5, 4, 3); if (!triangle.isTriangle()) System.out.println("Day khong la tam giac"); else { System.out.println("Day la tam giac"); System.out.printf("Chu vi = %.2f\n", triangle.perimeter()); System.out.printf("Dien tich = %.2f\n", triangle.area()); System.out.printf("Goc A = %.2f\n", triangle.angleA()); } } } 1.12 Cho số a, b, c Xét số có cạnh tam giác Nếu đúng, kiểm tra tam giác tam giác gì? (đều, cân, vng, vng cân,thường) 1.13 Cho năm dương lịch n Xác định năm âm lịch tương ứng Ví dụ: 1998 năm Mậu Dần 1.14 Cho số tự nhiên n < 1000 Tính cách viết số chữ Ví dụ: 125 đọc Một trăm hai mươi lăm 1.15 Cho số nguyên d, m, y Xét xem ngày tạo số theo dạng d/m/y có hợp lệ khơng? Nếu hợp lệ, in ngày hơm sau ngày Ví dụ: Ngày 29/2/1996 hợp lệ ngày hơm sau 1/3/1996 CẤU TRÚC VÒNG LẶP for, while, while 1.16 Nhập từ bàn phím vào số nguyên dừng lại nhập giá trị Tính tổng, trung bình cộng tìm giá trị lớn số nguyên vừa nhập 1.17 Cho số tự nhiên n a) Đếm số chữ số số nguyên b) Tìm số đảo ngược số n public class CountNumber { public int countDigit(int n) { int count = 0; int t = n; while (t != 0) { t = t / 10; count++; } return count; } public int revert(int n) { int result = 0; int t = n; while (t != 0) { // lay chu so cuoi cung int du = t % 10; // noi du vao cuoi result result = result * 10 + du; // bo bot chu so cuoi cua t t = t / 10; } return result; } public static void main(String[] args) { CountNumber countNumber = new CountNumber(); System.out.println("Nhap so:"); Scanner in = new Scanner(System.in); int n = in.nextInt(); System.out.println("So chu so la " + countNumber.countDigit(n)); System.out.println("So dao nguoc la " + countNumber.revert(n)); } } 1.18 Năm cha 35 tuổi, tuổi Tính xem sau năm tuổi cha gấp đôi tuổi 1.19 Cho số tự nhiên a b Tìm ước số chung lớn bội số chung nhỏ số 1.20 Cho số tự nhiên n a) Tìm ước lẻ lớn n b) Kiểm tra xem số có số nguyên tố khơng c) Phân tích số n thừa số nguyên tố d) Tìm in tất số nguyên tố nhỏ n 1.21 In hình giá trị sin, cos, tang, cotang góc 00, 50, 100, …, 900 1.22 In hình bảng cửu chương (8 bảng từ đến 9) 1.23 a) Cho số tự nhiên n Tính tổng S = + + … + n b) Cho số tự nhiên n Tính giai thừa n! = x x … x n 1.24 Cho số tiền gởi ngân hàng P, lãi suất tiền gởi tháng r, số tháng gởi n Tính xuất số tiền rút F sau n tháng theo công thức F = P(1 + r)n 1.25 Cho số tự nhiên n số thực x a) Tính P = + x + x2 + … + xn b) Tính P = – x + x2 – x3 + … + xn x x2 xn c) Cho số tự nhiên n số thực x Hãy tính tổng S = 1! 2! n! 1.26 Số Amstrong số có tổng lập phương chữ số số Tìm số Amstrong có chữ số Ví dụ: 153 = 13 + 53 + 33 1.27 Số hoàn hảo số tổng ước (khơng kể nó) Tìm số hồn hảo = a) Cho số tự nhiên n In Fibonacci thứ n b) Cho số tự nhiên n In n số Fibonacci dầu tiên 1.31 Cho số nguyên dương n (3 Các kí tự từ +k Từ thứ tư thông điệp => Các kí tự từ –l Chỉ mã hóa với kí tự khoảng: a-z; A-Z 0-9 Các kí tự khác giữ nguyên Các từ cách khoảng trắng 1.49 Vị Giám đốc công ty XYZ cần gửi văn quan trọng tới đối tác Đễ bảo mật văn bản.Giám đốc định mã hóa văn trước gửi, Văn xâu S chử la tinh in thường, Ông ta chia văn thành xâu liên tiếp Sb Se Lần lượt viết lại xâu Sb Se theo thứ tự ngược lại ông ta nhận xâu mã hóa Q.Bức thư thứ gửi cho đối tác có nội dung Q Để đối tác đọc văn bản,Ông ta gửi thêm thư thứ chứa khóa để giải mã :độ dài k xâu Sb Ví dụ nội dung thư S="programming" chia thành đoạn: Sb="progam", Se="ming", nhận xâu mã hóa Q="margorpgnim" với khóa k=7 Yêu cầu: Cho xâu mã hóa Q khóa k, xác định xâu S (k ≥0 không vượt độ dài xâu S) Dữ liệu: Vào từ file văn LETTER.INP, dòng đầu chứa xâu mã hóa Q có độ dài từ đến 250, dòng thứ chứa khóa k Kết quả: Ghi file văn LETTER.OUT xâu S tìm Ví dụ: LETTER.INP margorpgnim 1.50 Cho chuỗi S gồm kí tự Người ta mã hóa chuỗi S thu chuỗi S1 theo quy tắc: kí tự chuỗi S, độ dài chuỗi gồm kí tự giống liên tiếp Khi S1 gọi mã hóa S, S gọi giải mã S1 Ví dụ: S = 1111100000000111110000011111 S1 = S = 00011111110000111110001 S1 = Yêu cầu nhận chuỗi S in hình mã hóa S1 tương ứng Và nhận chuỗi mã hóa S1 in giải mã n 1.51 Một thuật tốn mã hóa thơng điệp sau: viết chuỗi thơng điệp theo dòng có n=5 cột, dòng cuối thêm khoảng trắng cho đầy dòng, viết lại ký tự thơng điệp theo cột Ví dụ: Thơng điệp "I am student" I a m s t u d e n t Thơng diệp mã hóa > "Isn-ttau-md e-" a) Cho chuỗi s, mã hóa chuỗi s theo thuật toán b) Giải mã lại chuỗi s 1.1 KIỂU DỮ LIỆU MẢNG MẢNG CHIỀU 1.52 Cho n số ngun a) Tìm vị trí giá trị phần tử lớn dãy b) Tìm vị trí giá trị phần tử nhỏ dãy a) Tính tổng phần tử dãy 1.53 Cho n số nguyên Tìm xem phần tử lớn xuất dãy lần 1.54 Nhập vào n số nguyên a) Đếm số phần âm, dương, dãy b) Xác định số âm lớn số dương nhỏ c) Cho biết | tổng âm| có tổng dương không 1.55 Cho n số Đảo thứ tự dãy theo nguyên tắc sau: A[1] đổi cho với A[n], A[2] đổi cho với A[n-1], In kết hình 1.56 Cho n số Xếp số nhỏ đầu dãy In dãy kết hình 1.57 Cho n số số x a) Xác định xem số x có xuất dãy không? b) Cho biết số x xuất dãy lần vị trí nào? c) Cho n số số x Loại bỏ khỏi dãy tất phần tử x In dãy hình 1.58 Cho dãy gồm n số a) Kiểm tra xem dãy có tăng dần hay không b) Sắp xếp dãy theo thứ tự tăng dần In dãy kết hình 1.59 Cho dãy gồm n số a) Kiểm tra xem dãy có đối xứng hay khơng Ví dụ dãy sau đối xứng: 7 b) Kiểm tra xem dãy có đan dấu hay khơng Ví dụ dãy sau đan dấu: -1 -3 -5 1.60 *Cho dãy gồm n số a) Tìm phần tử xuất lần dãy b) Tìm phần tử xuất nhiều lần dãy Ví dụ dãy 7 Câu a) Câu b) 1.61 *Cho dãy gồm n số Hãy tạo dãy gồm phần tử khác dãy xếp theo thứ tự tăng dần In dãy kết hình 1.62 Cho số nguyên dương n Dùng sàng Eratosthene để tìm số nguyên tố nhỏ n (Sieve of Eratosthenes) A prime number is any integer greater than that’s evenly divisible only by itself and The Sieve of Eratosthenes is a method of finding prime numbers It operates as follows: a) Create a primitive-type boolean array with all elements initialized to true Array elements with prime indices will remain true All other array elements will eventually be set to false b) Starting with array index 2, determine whether a given element is true If so, loop through the remainder of the array and set to false every element whose index is a multiple of the index for the element with value true Then continue the process with the next element with value true For array index 2, all elements beyond element in the array that have indices which are multiples of (indices 4, 6, 8, 10, etc.) will be set to false; for array index 3, all elements beyond element in the array that have indices which are multiples of (indices 6, 9, 12, 15, etc.) will be set to false; and so on When this process completes, the array elements that are still true indicate that the index is a prime number These indices can be displayed Write an application that uses an array of 1000 elements to determine and display the prime numbers between and 999 Ignore array elements and 1.2 MẢNG CHIỀU 1.63 Cho ma trận số nguyên kích thước m x n: a) In phần tử lớn nhỏ ma trận b) Tính tổng phần tử ma trận 1.64 Cho ma trận vuông cấp n gồm số nguyên a) Kiểm tra ma trận có ma trận tam giác không? (Ma trận tam giác thỏa: phần tử đường chéo khác 0, tồn phần tử đường chéo 0) b) Kiểm tra ma trận có đối xứng qua đường chéo hay khơng c) Kiểm tra ma trận có đối xứng qua tâm hay không 1.65 Cho ma trận vuông cấp n gồm số nguyên a) Cho ma trận vuông A cấp n gồm số Tìm ma trận chuyển vị A b) Hoán vị cột cột n, cột cột (n-1), cột cột (n-2), In ma trận kết hình 1.66 Cho ma trận vng A cấp n gồm số ngun Tính tổng dòng ma trận tìm dòng có tổng lớn 1.67 Cho ma trận vuông A B cấp n gồm số thực a) Tính ma trận tổng C = A + B Ma trận tổng tính theo cơng thức: Cij = Aij + Bij b) Tính ma trận hiệu D = A - B Ma trận hiệu tính theo cơng thức: Dij = Aij – Bij 1.68 Cho ma trận A kích thước m x p ma trận B kích thước p x n gồm số Tính ma trận tích C = A x B Ma trận tích kích thước m x n tính theo cơng thức: Cij = n A ik x B kj 1.69 Cho số tự nhiên n gồm số In hình n+1 dòng tam giác Pascal: Ví dụ với n = 1 1 1 3 1 ... growth of Internet communications 1.35 and data storage on Internet-connected computers has greatly increased privacy concerns The field of cryptography is concerned with coding data to make... args) { CountNumber countNumber = new CountNumber(); System.out.println("Nhap so:"); Scanner in = new Scanner(System.in); int n = in.nextInt(); System.out.println("So chu so la " + countNumber.countDigit(n));... b) Tìm số đảo ngược số n public class CountNumber { public int countDigit(int n) { int count = 0; int t = n; while (t != 0) { t = t / 10; count++; } return count; } public int revert(int n) { int