目录
题目
阶乘是数学中的一种运算,n的阶乘表示为:n!=1*2*3*…*n。
编写程序,根据一个给出的n,求得其阶乘值中所有数字之和P。并判断P是否为素数。
输入格式
键盘输入一个自然数n(1≤ n≤100)。
输出格式
n的阶乘值的所有数字之和 P,若P为素数输出"T",否则输出“F”。
输入/输出例子1
输入:
5
输出:
3 T
程序
#include<bits/stdc++.h>
using namespace std;
bool is_prime(int n)
{
for(int i=2;i*i<=n;i++)
{
if(n%i==0)
return false;
}
return true;
}
int main()
{
int result[2000]={0};
int n;
int i,j,m,jing;
cin>>n;
result[0]=1;
for(i=1;i<=n;i++)
{
jing=0;
for(j=0;j<2000;j++)
{
m=result[j]*i+jing;
result[j]=m%10;
jing=m/10;
}
}
for(i=1999;i>=0;i--)
{
if (result[i])
break;
}
long long sum=0;
for(j=i;j>=0;j--)
sum+=result[j];
cout<<sum<<" ";
if(is_prime(sum))
cout<<"T";
else
cout<<"F";
return 0;
}