LB的阶乘
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 1193 Accepted Submission(s) : 267
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
LB是个十分喜欢钻研的人,对什么事都要搞明白。有一天他学习到了阶乘,他十分喜欢,所以他在想一个问题。如果给定一个数n,求n!能不能被2016整除。LB算了好久都没有算出来,所以他向你求助,你能不能帮他解决这个问题呢?
Input
第一行只包含一个整数T(T≤1000),表示测试用例的个数。
对于每个测试用例,第一行只包含一个整数N(0≤N≤10000),N如描述所示。
对于每个测试用例,第一行只包含一个整数N(0≤N≤10000),N如描述所示。
Output
对于每个测试用例,输出一行,如果N!能被2016整除输出"YES"(不带引号),如果不能输出"NO"(不带引号)。
Sample Input
1 2016
Sample Output
YES
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
long long a;
cin>>a;
if(a>=8)
cout<<"YES"<<endl;
else
{
long long sum=1;
for(int i=1;i<a;i++)
{
sum*=i;
}
if(sum%2016==0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
}
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
long long a;
cin>>a;
if(a>=8)
cout<<"YES"<<endl;
else
{
long long sum=1;
for(int i=1;i<a;i++)
{
sum*=i;
}
if(sum%2016==0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
}