Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

阿姆斯特朗数 #169

Open
louzhedong opened this issue Jul 27, 2019 · 0 comments
Open

阿姆斯特朗数 #169

louzhedong opened this issue Jul 27, 2019 · 0 comments

Comments

@louzhedong
Copy link
Owner

习题

出处 LeetCode 算法第5028题

假设存在一个 k 位数 N,其每一位上的数字的 k 次幂的总和也是 N,那么这个数是阿姆斯特朗数。

给你一个正整数 N,让你来判定他是否是阿姆斯特朗数,是则返回 true,不是则返回 false

示例 1:

输入:153
输出:true
示例: 
153 是一个 3 位数,且 153 = 1^3   5^3   3^3。

示例 2:

输入:123
输出:false
解释: 
123 是一个 3 位数,且 123 != 1^3   2^3   3^3 = 36。

提示:

  1. 1 <= N <= 10^8

思路

暴力计算

解答

/**
 * @param {number} N
 * @return {boolean}
 */
var isArmstrong = function(N) {
    var strN = N.toString();
    var length = strN.length;
    var target = 0;
    for (var i = 0; i < length; i  ) {
      target  = help(Number(strN[i]),length);
    }
    if (target == N) {
      return true;
    }
    return false;
};

function help(number, p) {
  var result = 1;
  for (var i = 0;i < p; i  ) {
    result *= number;
  }
  return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant