# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
13632 | baneling100 | 팩토리얼 세제곱들의 합 (YDX14_fact) | C++98 | 0 ms | 1084 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <stdio.h>
int N, K, Fact=1, Zero, Ans1=1, Ans2;
int Table[10][4]={{},{0,1,1,1},{0,2,4,8},{0,3,9,7},{0,4,6,4},{0,5,5,5},{0,6,6,6},{0,7,9,3},{0,8,4,2},{0,9,1,9}};
int main(void) {
int i;
scanf("%d %d",&N,&K);
if(K)
for(i=1 ; i<=N ; i++) {
Fact*=i;
while(!(Fact%10)) Fact/=10, Zero++;
Fact%=10;
if(Ans2>K*Zero) Ans2=K*Zero, Ans1=Table[Fact][K];
else if(Ans2==K*Zero) {
Ans1+=Table[Fact][K];
if(Ans1==10) Ans1=1, Ans2++;
Ans1%=10;
}
}
else {
Ans1=N+1;
while(!(Ans1%10)) Ans1/=10;
Ans1%=10;
}
printf("%d",Ans1);
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |