[codeforces 1372 B] Omkar and Last Class of Math 수의 분할
1121 단어 codeforces
[codeforces 1372B] Omkar and Last Class of Math 수의 분할
목록https://blog.csdn.net/mrcrack/article/details/103564004
온라인 평가 주소http://codeforces.com/contest/1372/problem/B
Problem
Lang
Verdict
Time
Memory
B - Omkar and Last Class of Math
GNU C++17
Accepted
31 ms
3900 KB
제목: n 을 세 고 a + b = n 을 찾 습 니 다. 해당 하 는 LCM (a, b) 이 가장 작 아야 합 니 다.
기본 사고방식: 수 를 나 누고,
1. n 이 질 수 라면 두 가지 로 나눈다. 1, n - 1
2. n 이 소수 가 아니라면
k>=2,
n=k*a,a=n/k.
a=a,
b=n-a=k*a-a=(k-1)*a=(k-1)*n/k.
최소 공배수 b = (1 - 1 / k) * n, 요구 b 최소, 그러므로 k 최소.
AC 코드 는 다음 과 같 습 니 다.
#include
int main(){
int t,n,i,a,b,k;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
k=1;
for(i=2;i*i<=n;i++)
if(n%i==0){k=i;break;}// k
if(k==1)printf("1 %d
",n-1);// n
else printf("%d %d
",n/k,n-n/k);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Codeforces Round #715 Div. 2C The Sports Festival: 구간 DP전형구간 DP의 초전형. 이하, 0-indexed. 입력을 정렬하여 어디서나 시작하고 최적으로 좌우로 계속 유지하면 좋다는 것을 알 수 있습니다. {2000})$의 주문이 된다. 우선, 입력을 소트하여 n개의 요소를 $...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.