我是靠谱客的博主 眯眯眼羽毛,最近开发中收集的这篇文章主要介绍阶乘之和,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

阶乘之和

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 3
描述

给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;

输入
第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000;
输出
如果符合条件,输出Yes,否则输出No;
样例输入
2
9
10
样例输出
Yes
No

import java.util.Scanner;  
  
  
public class Main {  
  
    public static void main(String[] args) {  
        Scanner scanner=new Scanner(System.in);
        int time=scanner.nextInt();
        int arr[]=new int[15];
        int sum=1;
        for(int i=1;i<=9;i++)
        {
        	sum=sum*i;
        	arr[i]=sum;
//        	System.out.println(i+"   "+sum);
        }
        while(time--!=0)
        {
        	int number=scanner.nextInt();
        	for(int i=9;i>=1 && number>0;i--)
        	{
        		if(number>=arr[i])
        		{
        			number=number-arr[i];
        		}
        	}
        	if(number==0)
        	{
        		System.out.println("Yes");
        	}
        	else
        	{
        		System.out.println("No");
        	}
        }
    }  
  
}  


最后

以上就是眯眯眼羽毛为你收集整理的阶乘之和的全部内容,希望文章能够帮你解决阶乘之和所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部