N!
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 75390 Accepted Submission(s): 22028
Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
Input
One N in one line, process to the end of file.
Output
For each N, output N! in one line.
Sample Input
1 2 3
Sample Output
1 2 6
Author
JGShining(极光炫影)
#include<stdio.h>
#include<string.h>
#define M 50000
int num[M];
int main()
{
int n;
int i,j;
while(scanf("%d",&n)!=EOF)//num[0]保存的是个数
{
memset(num,0,sizeof(num));
num[0]=1;num[1]=1;
for(i=2;i<=n;i++)
{
for(j=1;j<=num[0];j++) num[j]*=i;
for(j=1;j<=num[0];j++)
{
if(num[j]>9) num[j+1]+=num[j]/10,num[j]%=10;
if(num[num[0]+1]) num[0]++;
}
}
for ( i = num[0]; i >= 1; --i) putchar(num[i] + '0');
puts("");
}
#include<string.h>
#define M 50000
int num[M];
int main()
{
int n;
int i,j;
while(scanf("%d",&n)!=EOF)//num[0]保存的是个数
{
memset(num,0,sizeof(num));
num[0]=1;num[1]=1;
for(i=2;i<=n;i++)
{
for(j=1;j<=num[0];j++) num[j]*=i;
for(j=1;j<=num[0];j++)
{
if(num[j]>9) num[j+1]+=num[j]/10,num[j]%=10;
if(num[num[0]+1]) num[0]++;
}
}
for ( i = num[0]; i >= 1; --i) putchar(num[i] + '0');
puts("");
}
return 0;
}
}
万进制乘法
#include"stdafx.h"
#include<stdio.h>
#define M 100
int a[M];
int main()
{
//首先存储4位
int i, j;
int n;
int k = 0;
int u = 0;
int x;
int y;
int ans=1;
scanf_s("%d", &n);
y = n;
while (n != 0)
{
a[k++] = n % 10000;
n = n / 10000;
}
u = 0;
for (i = 0; i < k; i++)
{
j = a[i] * x;
a[i] = (j) % 10000 + u;
u = (j) / 10000;
#include<stdio.h>
#define M 100
int a[M];
int main()
{
//首先存储4位
int i, j;
int n;
int k = 0;
int u = 0;
int x;
int y;
int ans=1;
scanf_s("%d", &n);
y = n;
while (n != 0)
{
a[k++] = n % 10000;
n = n / 10000;
}
u = 0;
for (i = 0; i < k; i++)
{
j = a[i] * x;
a[i] = (j) % 10000 + u;
u = (j) / 10000;
}
printf("%d", a[k - 1]);
for (i = k - 2; i >= 0; i--)
{
u = 1000;
while (a[i] < u)
{
printf("0");
u = u / 10;
}
printf("%d", a[i]);
}
printf("%d", a[k - 1]);
for (i = k - 2; i >= 0; i--)
{
u = 1000;
while (a[i] < u)
{
printf("0");
u = u / 10;
}
printf("%d", a[i]);
}
return 0;
}
}