공부용 블로그 | seokmin100

Nefus - C언어 [Codeup 1274, 1282] 본문

Nefus/C언어

Nefus - C언어 [Codeup 1274, 1282]

seokmin100 2024. 4. 6. 00:44

 

 

 

제가 어려웠던 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