본문 바로가기
백준 문제 해설

백준 8558 Silnia

by toomanysegtrees 2022. 11. 17.

폴란드어 문제..

https://www.acmicpc.net/problem/8558

 

8558번: Silnia

Niech n będzie nieujemną liczbą całkowitą. Liczbę n! (czytaj n-silnia) definiuje się następująco. Jeśli n ≤ 1, to n! = 1. Dla n > 1, n! jest równe iloczynowi wszystkich liczb od 1 do n, czyli n! = 1 * 2 * ... * n. Na przykład 4! = 1 * 2

www.acmicpc.net

풀이

n 팩토리얼의 일의 자리 수를 물어보는 문제이다. 

 

시간 복잡도 : $O(N)$

전체적인 감상 : 5팩토리얼부터는 모두 0이 되니 그 전만 if문으로 처리한다면 복잡도 $O(1)$에도 가능할 것 같다.

/* basic setup {{{ */
#include<bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
#define sz(x) ((int)x.size())
#define all(x) x.begin(),x.end()
#define compress(x) sort(all(x)), x.erase(unique(all(x)), x.end())
#define fast_io ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef const int ci;
const int MOD = 1e9+7;
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
/*}}}*/

int main(){
	fast_io;
	int n, a=1;
	cin>>n;
	for(int i=1;i<=n;i++){
		a*=i;
		a%=10;
	}
	cout<<a;
	cout<<'\n';
}

'백준 문제 해설' 카테고리의 다른 글

백준 25386 라즈베리 파이  (0) 2022.11.21
백준 4354 문자열 제곱  (2) 2022.11.20
백준 25591 푸앙이와 종윤이  (0) 2022.11.19
백준 25703 포인터 공부  (0) 2022.11.18
백준 18398 HOMWRK  (0) 2022.11.16
백준 13623 Zero or One  (0) 2022.11.15
백준 24860 Counting Antibodies  (0) 2022.11.14
백준 4714 Lunacy  (0) 2022.11.13