giúp mình lập trình C++ với. Thank admin
Bài 1:
Số đối xứng là số lớn hơn 10 và khi viết từ cuối lên vẫn là số ban đầu ví dụ: 121, 222 là các số đối xứng. Viết chương trình đếm tất cả các số đối xứng trong đoạn [a,b] với 11≤a,b≤106
Bài 2:
Cho dãy số nguyên dương A=(a1,a2,…,an). Viết chương trình thực hiện:
1. Số “Hoàn Hảo” là số có tổng các ước bằng chính nó (không kể ước là chính nó), ví dụ: 6=1+2+3, 28=1+2+4+7+14 là các số “Hoàn Hảo”. Đếm các số “Hoàn Hảo” trong dãy A đã cho.
2. In ra dãy con tăng liên tiếp dài nhất trong dãy A đã cho. Dãy con tăng liên tiếp là dãy: aL,a(L+1),…,a(H-1),aH thỏa mãn hai điều kiện:
- Các phần tử trong dãy có thứ tự tăng dần: aL<a(L+1)<⋯<a(H-1)<aH
- Số phần tử trong dãy là nhiều nhất có thể.
Quy ước: Dãy con chỉ gồm đúng 1 phần tử trong dãy A cũng được coi là dãy có thứ tự tăng.
#include<iostream>;
using namespace std;
int main() {
int i,a,b;
cout << "Nhap A,B: " << endl;
cin >> a >> b;
for (i = a; i <= b; i++) {
if ((i % 10) == (i /10)) {
cout << i << " ";
}
else if (i == 101){
cout << i;
}
}
return 0;
}
Bài 2:
#include<iostream>;
using namespace std;
bool shh(int a){
int u, tong = 0;
bool kq = false;
for (u = 1; u < a; u++) {
if (a % u == 0) {
tong+= u;
}
}
if (tong == u) {
kq = true;
}
return kq;
}
int main() {
int n, i, u, tong = 0, a[1000];
cout << "Nhap so phan tu: ";
cin >> n;
for (i = 1; i <= n; i++) {
cout << "Phan tu thu " << i << ": ";
cin >> a[i];
}
cout << "Cac So hoan hao:" << endl;
for (i = 1; i <= n; i++) {
if (shh(a[i]) == true) {
cout << a[i] << " ";
}
}
return 0;
}