Submission #8558

#TimeUsernameProblemLanguageResultExecution timeMemory
8558a555팩토리얼 세제곱들의 합 (YDX14_fact)C++98
1 / 1
0 ms1676 KiB
#include <iostream> #include <iomanip> #include <stdlib.h> #include <stdio.h> #include <cstring> #include <cstdlib> #include <ctime> #include <algorithm> #include <string> #include <vector> #include <stack> #include <queue> #include <map> #include <math.h> #include <bitset> #include <numeric> #pragma warning(disable:4996) #define REP(variable, repeatnumber) for(int variable=0; variable<(repeatnumber); ++variable) #define FOR(variable, start, end) for(int variable=(start); variable<=(end); ++variable) #define RFOR(variable, start, end) for(int variable=(start); variable>=(end); --variable) #define ULL unsigned long long #define LL long long using namespace std; // 700B int n, k, p; int ma(int r){ int a = r; while (1){ if (a % 10 != 0){ a = a % 10; break; } a /= 10; } return a; } int fun1(int n, int k){ int a = 1, r = 1; FOR(i, 1, n) a *= i; REP(i, k) r *= a; return r; } int fun(int n, int k){ int a = 1; FOR(i, 1, n){ a += fun1(i, k); //cout << i << " " << fun1(i, k) <<" "<< a << endl; } if(a!=0)a = ma(a); return a; } int kzro(int n, int k){ int r = n + 1; return ma(r); } int main() { scanf("%d%d", &n, &k); if (n > 4 && k != 0) n = 4; if (k == 0) printf("%d\n", kzro(n, k)); else printf("%d\n", fun(n, k)); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...