1 solutions
-
0
C :
#include<stdio.h> #include<string.h> #include<math.h> main() { int i,j,k; int n,m; int sum=1; char a[10]; scanf("%d",&n); for(i=1;i<=n;i++) { sum*=i; } sprintf(a,"%d",sum); k=strlen(a); for(j=k-1;j>-1;j--) if(a[j]=='0') { printf("%c",a[j-1]); break; } }C++ :
#include<cstdio> using namespace std; int a[4]={1,3,9,7}; int b[4]={1,7,9,3}; int main() { long long n,i,j,sum=1,count2=0,count3=0,count5=0,count7=0; scanf("%lld",&n); for(i=2;i<=n;i++) { int t=i; while(t%2==0) { count2++; t/=2; } while(t%3==0) { count3++; t/=3; } while(t%5==0) { count5++; t/=5; } while(t%7==0) { count7++; t/=7; } sum=sum*t; sum%=10; } if(count5>count2) { printf("5\n"); } else { for(j=0;j<count2-count5;j++) { sum=sum*2; sum=sum%10; } sum=sum*a[count3%4]; sum=sum%10; sum=sum*b[count7%4]; sum%=10; printf("%lld\n",sum); } return 0; }Pascal :
var i,j,n,w : longint; a : array[1..1000] of integer; procedure fact(k : longint); var x,i : longint; begin x := 0; for i := 1 to w do begin a[i] := a[i]*k+x; x := a[i] div 10; a[i] := a[i] mod 10; end; while x>0 dO begin w := w+1; a[w] := x mod 10; x := x div 10; end; end; begin a[1] := 1; w := 1; readln(n); for i := 1 to n do fact(i); write(a[1]); end.
- 1
Information
- ID
- 19396
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By