我是靠谱客的博主 眯眯眼羽毛,这篇文章主要介绍阶乘之和,现在分享给大家,希望可以做个参考。

阶乘之和

时间限制: 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");
        	}
        }
    }  
  
}  


最后

以上就是眯眯眼羽毛最近收集整理的关于阶乘之和的全部内容,更多相关阶乘之和内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部