Chương trình C ++ để hiển thị số Armstrong giữa hai khoảng thời gian

Ví dụ để tìm tất cả các số Armstrong giữa hai số nguyên (do người dùng nhập vào) bằng cách sử dụng vòng lặp và câu lệnh if… else.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình C ++ sau:

  • C ++ if, if… else và Nested if… else
  • C ++ cho Vòng lặp

Chương trình này yêu cầu người dùng nhập hai số nguyên và hiển thị tất cả các số Armstrong giữa khoảng thời gian nhất định.

Nếu bạn không biết cách kiểm tra một số có phải là Armstrong hay không trong lập trình thì chương trình này có vẻ hơi phức tạp.

Truy cập trang này để tìm hiểu về số Armstrong và cách kiểm tra nó trong lập trình C ++.

Ví dụ: Hiển thị số Armstrong giữa các khoảng thời gian

 #include using namespace std; int main() ( int num1, num2, i, num, digit, sum; cout <> num1; cout <> num2; cout << "Armstrong numbers between " << num1 << " and " << num2 << " are: " << endl; for(i = num1; i 0; num /= 10) ( digit = num % 10; sum = sum + digit * digit * digit; ) if(sum == i) ( cout << i << endl; ) ) return 0; ) 

Đầu ra

 Nhập số đầu tiên: 100 Nhập số thứ hai: 400 Các số Armstrong từ 100 đến 400 là: 153 370 371 

Trong chương trình này, giả định rằng, người dùng luôn nhập số nhỏ hơn trước.

Chương trình này sẽ không thực hiện nhiệm vụ dự kiến ​​nếu người dùng nhập số lớn hơn trước.

Bạn có thể thêm mã để hoán đổi hai số do người dùng nhập nếu người dùng nhập số lớn hơn trước để chương trình này hoạt động bình thường.

Trong chương trình này, mỗi số giữa khoảng thời gian được lấy và lưu trữ trong biến num. Sau đó, mỗi chữ số của số được truy xuất dưới dạng chữ số và lập phương (3).

Kết quả lập phương được thêm vào kết quả lập phương của tổng chữ số cuối cùng.

Cuối cùng, khi mỗi chữ số được duyệt qua, tổng được so sánh với số i ban đầu. Nếu chúng bằng nhau, số đó là một số lũy thừa.

thú vị bài viết...