알고리즘 모음(C++)

백준 5988 - 홀수일까 짝수일까(C++) 본문

백준

백준 5988 - 홀수일까 짝수일까(C++)

공대생의 잡다한 사전 2022. 1. 5. 00:13

문제 링크입니다. https://www.acmicpc.net/problem/5988

 

5988번: 홀수일까 짝수일까

짝이 없는 경재는 매일 홀로 있다보니 홀수를 판별할 수 있는 능력이 생겼다. 창식이는 경재의 말이 사실인지 그 능력을 시험해보려 한다. 창식이의 의심이 끝이 없을 것 같아 N개만 확인하기

www.acmicpc.net

간단한 문제였지만, string을 사용해야하는 문제였습니다.

문제 조건
출력 예시

수의 범위가 최대 10^60임으로 int 나 long long 으로 값을 받지 못합니다.

저는 문자열로 값을 받아 홀수, 짝수를 판별했습니다.

 

1. 홀짝 판별하기

void solve() {
	for (int i = 0; i < N; i++) {
		int check = num[i][num[i].size() - 1] - '0';
		if (check % 2 == 0) cout << "even" << "\n";
		else cout << "odd" << "\n";
	}
}

홀수와 짝수는 마지막 자리값만 확인하면 됩니다.

따라서 문자열을 통해 수를 입력받고, 마지막 자리값만 받았습니다.

 

자세한 것은 코드를 참고해주세요.

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <stack>
#include <cmath>
#include <cstring>

using namespace std;

int N;
string num[101];

void solve() {
	for (int i = 0; i < N; i++) {
		int check = num[i][num[i].size() - 1] - '0';
		if (check % 2 == 0) cout << "even" << "\n";
		else cout << "odd" << "\n";
	}
}

int main() {
	cin.tie(0);
	cout.tie(0);
	cin >> N;
	for (int i = 0; i < N; i++) {
		cin >> num[i];
	}
	solve();
	return 0;
}

 

 

질문 및 조언 댓글 남겨주세요!