Số Demlo là các số đối xứng được tạo ra từ bình phương của số có dạng 11...1 (với điều kiện số chữ số nhỏ hơn 10).
Ý tưởng
Đầu tiên khai báo các biến chuỗi:
string demNum = "1111"; string square = "";
Vòng lặp đầu tiên duyệt qua độ dài chuỗi demNum, chuyển chỉ số i thành ký tự và nối vào square:
for(int i = 1; i <= demNum.length(); i++) {
square += char(i + '0');
}
Vòng lặp thứ hai duyệt ngược từ độ dài chuỗi demNum, tiếp tục nối các ký số:
for (int i = demNum.length() - 1; i >= 1; i--)
square += char(i + '0');
Ví dụ hoàn chỉnh
#include <iostream>
using namespace std;
int main() {
string demNum = "1111";
string square = "";
for(int i = 1; i <= demNum.length(); i++) {
square += char(i + '0');
}
for (int i = demNum.length() - 1; i >= 1; i--)
square += char(i + '0');
cout << square;
return 0;
}
Kết quả
1234321