Làm thế nào để viết chương trình Python cho số Armstrong sử dụng While Loop, For Loop, Functions and Recursion?. Chúng tôi cũng chỉ cho bạn, Python program to in Number Armstrong from 1 to n
Nội dung chính
- Các bước
- Chương trình Python for number Armstrong sử dụng While Loop
- Use For Loop
- Chương trình Python cho số Armstrong sử dụng các chức năng
- Chương trình Python cho số Armstrong sử dụng đệ quy
- Chương trình Python để tìm số Armstrong từ 1 đến n
Nội dung chính
- Các bước
- Chương trình Python for number Armstrong sử dụng While Loop
- Use For Loop
- Chương trình Python cho số Armstrong sử dụng các chức năng
- Chương trình Python cho số Armstrong sử dụng đệ quy
- Chương trình Python để tìm số Armstrong từ 1 đến n
- Number Armstrong by Python
- Các bước
- Chương trình Python for number Armstrong sử dụng While Loop
- Use For Loop
- Chương trình Python cho số Armstrong sử dụng các chức năng
- Chương trình Python cho số Armstrong sử dụng đệ quy
- Chương trình Python để tìm số Armstrong từ 1 đến n
Nếu các số đã cho bằng tổng tích lũy thứ N của mỗi chữ số có trong số nguyên đó, thì đó có thể là Số Amstrong trong Python. Ví dụ, 370
Các chữ số lẻ trong 370 = 3
370 = 3³ + 7³ + 0³
= 27 + 343 + 0 = 370
Các bước dưới đây cho bạn thấy phương pháp phổ biến để kiểm tra Số Armstrong trong Python
Các bước
- User must enter any any number
- Dem tổng các chữ số riêng lẻ (Ví dụ, 370 có nghĩa là 3)
- Chia nguyên số cho các chữ số riêng lẻ (Ví dụ. Chia 370 thành 3, 7 và 0)
- Tính tích lũy của n cho mỗi cá nhân và cộng đồng
- So sánh giá trị gốc với giá trị tổng
- Nếu chúng khớp chính xác, thì đó là một Armstrong, còn lại thì không
Chương trình Python for number Armstrong sử dụng While Loop
Chương trình này cho phép người dùng nhập bất kỳ số nguyên dương nào. Và sau đó, chương trình Python này kiểm tra xem một số có phải là Armstrong hay không bằng cách sử dụng Vòng lặp While
Number = int(input("Please Enter the Number to Check: ")) Sum = 0 Times = 0 Temp = Number while Temp > 0: Times = Times + 1 Temp = Temp // 10 Temp = Number while Temp > 0: Reminder = Temp % 10 Sum = Sum + (Reminder ** Times) Temp //= 10 if Number == Sum: print("%d is Armstrong." %Number) else: print("%d is Not." %Number)Số Armstrong này trong chương trình python cho phép người dùng nhập bất kỳ số nguyên dương nào rồi gán nó cho biến
Tiếp theo, chúng tôi gán giá trị ban đầu cho biến Temp. Nó giúp đảm bảo toàn bộ giá trị ban đầu của chúng ta và sau đó thực hiện tất cả các thao tác trên biến Temp
Vòng lặp While đầu tiên chắc chắn rằng số đã chọn lớn hơn 0, các câu lệnh bên trong vòng lặp while sẽ tách nó ra và đếm tổng số chữ số riêng lẻ bên trong số nguyên đã cho. Nếu bạn không hiểu logic của chương trình, hãy tham khảo bài viết Tìm tổng số bằng Python
Vòng lặp While thứ hai trong chương trình Số Armstrong trong python này chắc chắn rằng số nguyên đã chọn lớn hơn 0. Chúng ta hãy xem nguyên tắc hoạt động của vòng lặp trong khi vòng lặp này được phép không ngoan
trong khi Nhiệt độ> 0. Nhắc nhở = Temp% 10 Sum = Sum + (Reminder ** Times) Temp // = 10
Giá trị do người dùng nhập vào chương trình Python này Đối với số Armstrong = 9474 và Sum = 0
Temp = Number
Nhiệt độ = 9474
reset the first time
Lời nhắc = Temp% 10
Lời nhắc = 9474% 10 = 4
Sum = Sum + pow (Lời nhắc, Lần)
Đối với ví dụ này, Times = 4 because the total number of 9474 = 4. Vì vậy,
Tổng = 0 + (4 * 4 * 4 * 4) => 0 + 256 => Tổng = 256
Nhiệt độ = Nhiệt độ / 10 => 9474/10
Nhiệt độ = 947
LƯU Ý. Nếu các chữ số được đếm là 5, thì hãy nhắc nhở nhân với 5 lần
restart two second times. Từ chương trình Python cho Number Armstrong lặp lại lần đầu tiên, các giá trị của cả Temp và Sum đã thay đổi thành Temp = 163 và Sum = 256
Lời nhắc = Temp% 10
Lời nhắc = 947% 10 = 7
Tổng = 256 + (7 * 7 * 7 * 7) => 256 + 2401
Tổng = 2657
Nhiệt độ = 163/10 = 94
tái tạo lại thứ ba. Từ lặp lại thứ hai, các giá trị của Temp = 94 và Sum = 2657
Lời nói = 94% 10 = 4
Tổng = 2657 + (4 * 4 * 4 * 4) => 2657 + 256
Tổng = 2913
Nhiệt độ = 94/10 = 9
Python program for the Armstrong number
Từ lặp lại thứ ba, các giá trị của Temp = 9 và Sum = 2913
Lời nói = 9% 10 = 0
Tổng = 2913 + (9 * 9 * 9 * 9) => 2913 + 6561
Tổng = 9474
Nhiệt độ = 9/10 = 0
Ở đây Temp = 0 nên điều kiện lặp trong khi không thành công
if (9474 == 9474) Kiểm tra điều kiện xem người dùng nhập có chính xác bằng Tổng hay không. If this condition is Right, then it is not
LƯU Ý. Nếu bạn đang tìm số Armstrong trong Python dưới 1000, vui lòng xóa vòng lặp trong khi đếm các chữ số trong một số nguyên, sau đó thay thế mã bên dưới
Sum = Sum + (Reminder ** Times); With Sum = Sum + (Reminder * Reminder * Reminder)Use For Loop
Chương trình Python này cho phép người dùng nhập bất kỳ số nguyên dương nào và sau đó, nó kiểm tra xem một số có phải là Armstrong hay không bằng cách sử dụng For Loop
Num = int(input("nPlease Enter the Value : ")) Sum = 0 Times = 0 Temp = Num while Temp > 0: Times = Times + 1 Temp = Temp // 10 Temp = Num for n in range(1, Temp + 1): Reminder = Temp % 10 Sum = Sum + (Reminder ** Times) Temp //= 10 if Num == Sum: print("n %d is.n" %Num) else: print("n %d is Not.n" %Num)Please Enter the Value : 371 371 is. Please Enter the Value : 4458 4458 is Not.Chúng ta vừa thay vòng lặp While trong ví dụ trên vòng lặp For. Nếu bạn chưa hiểu về vòng lặp for, hãy tham khảo bài viết về vòng lặp for
Chương trình Python cho số Armstrong sử dụng các chức năng
Chương trình Python này cho phép người dùng nhập bất kỳ số nguyên dương nào và kiểm tra xem một số có phải là Armstrong hay không sử dụng Hàm
def ArmFind(val): total = 0 Times = 0 # Calculating individual digits tm = val while tm > 0: Times = Times + 1 tm = tm // 10 tm = val for n in range(1, tm + 1): Reminder = tm % 10 total = total + (Reminder ** Times) tm //= 10 return total #User Input val = int(input("Please Enter to Find : ")) if (val == ArmFind(val)): print("n%d is." %val) else: print("n%d is Not." %val)Please Enter to Find : 153 153 is. >>> Please Enter to Find : 2256 2256 is Not.Trong chương trình Python ví dụ về Số Armstrong này, chúng tôi đã định nghĩa hàm sau để thực hiện tất cả các tính năng được phép cần thiết và trả về Tổng
def ArmFind(val):Khi trình biên dịch đạt đến đoạn mã sau bên trong câu lệnh Nếu thì trình biên dịch sẽ ngay lập tức chuyển đến hàm được chỉ định ở trên
ArmFind(val)Chúng tôi đã giải thích về ví dụ LOGIC ở trên
Chương trình Python cho số Armstrong sử dụng đệ quy
Nó cho phép tôi nhập bất kỳ số nguyên dương nào. Tiếp theo, chương trình Python này kiểm tra xem một số có phải là Armstrong hay không bằng cách sử dụng khái niệm hàm đệ quy hoặc hàm đệ quy
total = 0 Times = 0 def Count_Of_Digits(value): global Times if(value > 0): Times = Times + 1 Count_Of_Digits(value // 10) return Times def ArmFind(value, Times): global total if(value > 0): Reminder = value % 10 total = total + (Reminder ** Times) ArmFind(value //10, Times) return total value = int(input("Please Enter the value : ")) Times = Count_Of_Digits(value) total = ArmFind(value, Times) if (value == total): print("n%d is Armstrong." %value) else: print("n%d is Not." %value)Please Enter the Value : 153 153 is Armstrong. >>> Please Enter the Value : 259 259 is Not.Trong ví dụ này, chúng tôi đã định nghĩa hai hàm đệ quy. Hàm sau chấp nhận các giá trị nguyên làm giá trị tham số và đếm tổng các chữ số riêng lẻ trong một nguyên số một cách đệ quy
Sum = Sum + (Reminder ** Times); With Sum = Sum + (Reminder * Reminder * Reminder)0Hàm sau nhận hai giá trị nguyên làm giá trị tham số. Và nó thực hiện tất cả các tính năng cần thiết cho phép và trả về Sum
Sum = Sum + (Reminder ** Times); With Sum = Sum + (Reminder * Reminder * Reminder)1Lệnh sau trong Chương trình Python cho Số Armstrong này giúp gọi hàm một cách đệ quy với giá trị được cập nhật. Nếu bạn bỏ lỡ câu lệnh này, thì sau khi hoàn thành dòng đầu tiên, nó sẽ kết thúc. Ví dụ,
Sum = Sum + (Reminder ** Times); With Sum = Sum + (Reminder * Reminder * Reminder)2Số = 153
Khi đó đầu ra = 27
Vui lòng xem câu lệnh If bên trong các chức năng được chỉ định ở trên
if (value > 0) check xem value đã cho có lớn hơn 0 hay không. Đối với các hàm đệ quy, điều kiện bắt buộc là phải đặt một điều kiện trước khi sử dụng hàm đệ quy. Nếu không, chúng ta sẽ thực hiện vô hạn (Giống như Vòng lặp vô hạn)
Chương trình Python để tìm số Armstrong từ 1 đến n
Chương trình này cho phép bạn nhập tối thiểu và tối đa. Và sau đó chương trình Python này trả về Number Armstrong giữa các giá trị tối thiểu và tối đa
Hai câu lệnh đầu tiên có trong chương trình này cho phép người dùng nhập các giá trị tối thiểu và tối đa
Vòng lặp cho phép lặp lại giữa các biến tối thiểu và tối đa. Sự lặp lại bắt đầu ở giá trị tối thiểu và sau đó nó sẽ không vượt qua biến tối đa
if (n == tot) -– điều kiện kiểm tra xem phần bổ sung N của mỗi chữ số có trong số nguyên đó có giá trị cho trước hay không. Khi điều kiện là Đúng, nó là không