Advertisement
DanikYakush

Task26

Jul 6th, 2022
921
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Task26 {
  2.     static public int numLength(int x) {
  3.         if (x == 0) {
  4.             return 1;
  5.         }
  6.         int counter = 0;
  7.         while (x >0) {
  8.             counter++;
  9.             x /= 10;
  10.         }
  11.         return counter;
  12.     }
  13.  
  14.     static public int[] numInArray(int x) {
  15.         int[] a = new int[numLength(x)];
  16.         if (x == 0) {
  17.             a[0] = 0;
  18.             return a;
  19.         }
  20.         int counter = 0;
  21.         while (x > 0) {
  22.             a[counter] = x % 10;
  23.             x /= 10;
  24.             counter++;
  25.         }
  26.         return a;
  27.     }
  28.     static public boolean isArmstrongNum(int x) {
  29.         int[] a = numInArray(x);
  30.         int sum = 0;
  31.         for (int i = 0; i < a.length; ++i) {
  32.             sum += a[i];
  33.         }
  34.         int ans = sum;
  35.         for (int i = 2; i <= a.length; ++i) {
  36.             ans *= sum;
  37.         }
  38.         if (ans == x) {
  39.             return true;
  40.         }
  41.         return false;
  42.     }
  43.     static public ArrayList<Integer> armstorngNums(int k) {
  44.         ArrayList<Integer> a = new ArrayList<Integer>();
  45.         for (int i = 1; i <= k; ++i) {
  46.             if (isArmstrongNum(i)) {
  47.                 a.add(i);
  48.             }
  49.         }
  50.  
  51.         return a;
  52.     }
  53. }
Advertisement
RAW Paste Data Copied
Advertisement