用React Hooks函数式组件写一个寻找100到999的喇叭花数

jsx代码如下

const [labaNumber, setLabaNumber] = useState();
  useEffect(() => {
    const findLabaNumber = () => {
      let labaNumberArr = [];
      //穷举法,从100到999寻找喇叭花数
      for (let i = 100; i < 1000; i++) {
        //abc分别表示百位,十位,个位
        const a = parseInt(i / 100);
        const b = parseInt((i - a * 100) / 10);
        const c = i - a * 100 - b * 10;
        //根据喇叭花数的条件寻找喇叭花数
        const total = factorial(a) + factorial(b) + factorial(c);
        if (total === i) {
          //放进数组
          labaNumberArr.push(i);
        }
      }
      setLabaNumber(labaNumberArr);
    };
    findLabaNumber();
  }, []);
  console.log('这就是喇叭花数:---', labaNumber);
  //累乘器
  const factorial = number => {
    let total = 1;
    for (let i = 1; i <= number; i++) {
      total *= i;
    }
    return total;
  };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端叻叻猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值