공부용 블로그 | seokmin100
Nefus - C언어 [Codeup 1274, 1282] 본문
제가 어려웠던 2개의 문제는 Codeup - 1274, Codeup - 1282 입니다.
Codeup - 1274
이 문제는 소수를 어떻게 구해야 할지 고민하다 for문 안에서 직접 출력하려는 뻘짓을 하려다 꼬여서 코드를 완전히 새로 만들어 맞춘 문제입니다.
#include <stdio.h>
int main() {
int n,index=0;
scanf("%d", &n);
for(int i=1;i<=n;i++){
if(n%i==0) index++;
}
if(index==2) printf("prime");
else printf("not prime");
return 0;
}
scanf로 받은 정수를 for문으로 받아서 그 수 만큼 반복합니다.
n%i==0으로 반복하다 index=2이면 1와 입력 받은 정수 2개 뿐임으로 소수이기 때문에 prime을 출력하고 아니면 not prime을 출력합니다.
Codeup - 1282
이 문제는 제곱수 출력을 위해 어떤식으로 출력을 해야할지 많이 고민했고 k를 출력한다해도 t를 어떤식으로 출력해야할지 고민하다 풀고 난 후에도 내 기준으론 어렵다 생각하여 넣게 되었습니다.
#include <stdio.h>
int main() {
long long n,i; scanf("%lld",&n);
for(i=n;;i--){
if(n>=i*i)
break;
}
printf("%lld %lld",n-(i*i), i);
}
scanf로 받은 값을 i에 대입하였습니다. 조건문을 넣지 않고 실행시켜 if문의 조건에 맞게 되면 반복문을 벗어나게 하는 식으로 코드를 만들었습니다.
그렇게 하여 i는 제곱근이 되고 n-(i*i)로 제곱수를 만들 수 있는 가장 작은 수를 출력합니다.
'Nefus > C언어' 카테고리의 다른 글
Nefus - C언어 [프로젝트] (1) | 2024.05.08 |
---|---|
Nefus - C언어 [메모리 구조] (0) | 2024.04.16 |
Nefus - C언어 [BOJ 11729, 24060] (0) | 2024.04.11 |