Chương trình C để kiểm tra số Armstrong

Trong ví dụ này, bạn sẽ học cách kiểm tra xem một số nguyên do người dùng nhập có phải là số Armstrong hay không.

Để 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âu lệnh C if… else
  • C while và do… while Loop

Một số nguyên dương được gọi là số Amstrong (bậc n) nếu

 abcd… = an + bn + cn + dn + 

Trong trường hợp một số Amstrong có 3 chữ số, tổng các lập phương của mỗi chữ số bằng chính số đó. Ví dụ: 153 là số Armstrong vì

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 

Kiểm tra Armstrong Số có ba chữ số

 #include int main() ( int num, originalNum, remainder, result = 0; printf("Enter a three-digit integer: "); scanf("%d", &num); originalNum = num; while (originalNum != 0) ( // remainder contains the last digit remainder = originalNum % 10; result += remainder * remainder * remainder; // removing last digit from the orignal number originalNum /= 10; ) if (result == num) printf("%d is an Armstrong number.", num); else printf("%d is not an Armstrong number.", num); return 0; ) 

Đầu ra

 Nhập số nguyên có ba chữ số: 371 371 là số Amstrong. 

Kiểm tra Armstrong Số chữ số n

 #include #include int main() ( int num, originalNum, remainder, n = 0; float result = 0.0; printf("Enter an integer: "); scanf("%d", &num); originalNum = num; // store the number of digits of num in n for (originalNum = num; originalNum != 0; ++n) ( originalNum /= 10; ) for (originalNum = num; originalNum != 0; originalNum /= 10) ( remainder = originalNum % 10; // store the sum of the power of individual digits in result result += pow(remainder, n); ) // if num is equal to result, the number is an Armstrong number if ((int)result == num) printf("%d is an Armstrong number.", num); else printf("%d is not an Armstrong number.", num); return 0; )

Đầu ra

 Nhập một số nguyên: 1634 1634 là một số Armstrong. 

Trong chương trình này, số chữ số của một số nguyên được tính trước và được lưu trữ trong n. Và, pow()hàm được sử dụng để tính lũy thừa của các chữ số riêng lẻ trong mỗi lần lặp của forvòng lặp thứ hai .

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