[ad_1]
Enter a anumber 55 55 Number is not an ArmStrong.
Những gì tôi đã thử:
package com.streamapi; import java.util.Scanner; public class ArmStrongNumber { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("Enter a anumber"); int number = scanner.nextInt(); boolean ArmStrong = ArmStrong(number); if(ArmStrong) { System.out.println(number +" Number is an ArmStrong."); } else { System.out.println(number +" Number is not an ArmStrong."); } } private static boolean ArmStrong(int number) { return false; } }
Giải pháp 1
Bạn đã gần tới. Tất cả những gì bạn phải làm bây giờ là điền vào phần tính toán. Đó là một vấn đề đơn giản mà bạn sẽ không mất nhiều thời gian. Để giúp đỡ, tôi sẽ nhắc bạn phép tính là gì.
Số Armstrong là một số bằng tổng của mỗi giá trị lũy thừa của tổng số chữ số. Vì vậy, phép tính của bạn sẽ lấy một chuỗi và lặp lại từng ký tự, chuyển đổi nó thành một số, tăng lũy thừa của độ dài chuỗi. Thêm giá trị vào tổng số đang chạy. Nếu bạn đến cuối vòng lặp và tổng số khớp với dữ liệu đầu vào thì xin chúc mừng, bạn đã tìm thấy số Armstrong.
Có một số tối ưu hóa bạn có thể làm. Nếu đầu vào không phải là số, hãy từ chối nó. Nếu trong vòng lặp, tổng số lần chạy của bạn vượt quá giá trị đầu vào thì đó chắc chắn không phải là số Armstrong.
[ad_2]
コメント