Cho trước mảng A[1:n] hãy in ra tất cả các cách biểu diễn số k bằng tổng các phần tử của A (mỗi phần tử dùng không quá 1 lần).. nếu không có cách nào thì xuất “không có cách phân tích”.[r]
Trang 1CÁC BÀI TẬP CƠ BẢN CROCODILE ICT
1 Nhập 3 số a, b, c Xuất ra Max(a,b,c)
2 Nhập 2 số a,b Xuất ra nghiệm của phương trình ax + b = 0
3 Nhập vào 3 số a,b,c Kiểm tra xem a,b,c có phải là độ dài 3 cạnh của 1 tam giác hay không?
4 Nhập vào số k, kiểm tra k có phải là số nguyên tố hay không ?
5 Nhập vào số k, tính tổng tất cả các ước của k
6 Nhập vào n số a1, a2, …,an Tìm Max(a1, a2, …,an)
7 Nhập vào số nguyên dương k, tính tổng tất cả các chữ số của k
8 Nhập vào số k, tính tổng tất cả các chữ số chẵn của k
9 Nhập vào số nguyên dương n, tính Sn = 1 + 2 + …+n
10 Nhập vào số nguyên dương n, tính Tn = 1! + 2! + …+n! (với n! = 1.2.3…n)
11 Nhập vào số nguyên dương n, tính Sn = – 1 + 2 – 3 + 4 – 5 … (– 1)nn
Sử dụng kỹ thuật đệ quy để giải các bài sau:
12 Cho f (n )={ 1(n=0) 1(n=1)
f (n−1)+f (n−2)(n ≥2)
Tính f(n)
13 Cho f (n )={ 0(n=0) 1(n=1)
f(n2)(n ≥ 2,n ch n ẵ )
f(n+12 )(n ≥2 , n lẽ)
Tính f(n)
14 Cho a, b là 2 số nguyên dương Tìm UCLN(a,b)
15 Tìm ước số lẻ lớn nhất của số nguyên dương n Ví dụ : n = 100 ước lẻ lớn nhất của
100 là 25
16 Cho trước mảng A[1:n] chứa các phần tử đôi một khác nhau, hãy in ra tất cả các hoán vị của các số đó
17 Viết chương trình nhập vào 2 số nguyên dương n,k và in ra tất cả các số có n chữ
số, có tổng bằng k
Trang 218 Một số a được gọi là không lặp bậc k nếu khi viết a ở dạng nhị phân thì không có quá k số 1 viết liền nhau Nhập vào số n và in ra tất cả các số không lặp bậc k bé hơn n
19 Cho trước mảng A[1:n] hãy in ra tất cả các cách biểu diễn số k bằng tổng các phần
tử của A (mỗi phần tử dùng không quá 1 lần) nếu không có cách nào thì xuất
“không có cách phân tích”
20 Dãy số có n phần tử được gọi là dãy không giảm nếu mọi phần tử đứng sau phần
tử thứ I đều lớn hơn hay bằng nó (0<I ≤ n) Cho trước dãy số A = {a1,a2, an} Hãy tìm dãy không giảm với số phần tử lớn nhất bằng cách xoá đi một số phần tử của dãy A
21 Cho tập A có tính chất: {2∗k +1 A k A Viết chương trình nhập vào số k và n Kiểm tra n có thuộc A hay không ? và cho biết n là phần tử thứ mấy trong tập A
22 Tổng lập Phương:
Một số n được gọi là tổng lập phương nếu n được biểu diễn dưới dạng tổng lập phương của các số nguyên dương Nhập vào số n và cách biểu diễn tổng lập phương của nó
23
Trang 3HƯỚNG DẪN GIẢI
Bài 1
Bài 2
Trang 4Bài 3
Bài 4
Trang 5Bài 5
Bài 6
Trang 6Bài 7
Bài 8
Cách 1:
Tương tự như bài 7 nhưng để phải làm 2 công đoạn
+ Trong khi phần thập phân > 0 thì thay k = k *10 (loại bỏ dấu thập phân)
Trang 7+ Làm tương tự bài 7
Lưu ý:cách này tuy nhanh nhưng dễ bị tràn số
Cách 2:
Ta có thể coi số k là 2 số: k1, k2 Trong đó k1 là phần nguyên, k2 là phần thập phân
Áp dụng bài 7 cho 2 số k1 (có tổng là Tong1) và k2 (có tổng là Tong2), khi đó: Tong = Tong1 + Tong2
Bài 9:
Bài 10:
- Tương tự như bài 9, nhưng thay vì Tong = Tong + I thì thay I bằng fact(i) Bải 11: - Tương tự như bài 9,10 Có thể thêm 1 hàm xác định dấu của mỗi phần tử
Trang 8Bài 12: Crocodile có thể gọi đệ quy như một ngôn ngữ lập trình