본문 바로가기

사칙연산98

[백준 10757] 큰 수 A+B [C] 풀이 10의 10000승이므로 개행문자 까지 포함해 A, B에는 최대 10002개의 문자가, 두 수의 합을 저장할 배열은 최대 10003개의 문자를 담을 수 있어야 한다. 문자열로 입력받았기 때문에 자리올림을 위해 문자열을 뒤집어 주어야 한다. 백준 채점 환경에서는 strrev()를 사용할 수 없어 직접 구현했다. 두 문자열의 문자에 해당하는 아스키코드값을 이용해 덧셈을 해주며, 자리올림이 발생하면 다음 계산 때 적용한다. 소스코드 #include #include void str_rev(char *str, int len){ for (int i = 0; i < len/2; i++){ str[i] = str[i] ^ str[len-i-1]; str[len-i-1] = str[len-i-1] ^ str[i];.. 2021. 7. 31.
[백준 1712] 손익분기점 [C] 풀이 손익분기점을 넘기 위한 판매량은 A / (C - B) + 1의 정수값과 같다. B가 C이상일 때는, 판매량에 상관없이 절대로 손익분기점을 넘을 수 없다. 소스코드 #include int main(){ long A, B, C; scanf("%ld %ld %ld", &A, &B, &C); if (B >= C) puts("-1"); else printf("%lld", A/(C-B)+1); } 출처 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 2021. 7. 23.
[백준 10156] 과자 [C] 소스코드 #include int main(){ int K, N, M; scanf("%d %d %d", &K, &N, &M); printf("%d", K*N > M ? K*N-M : 0); } 출처 10156번: 과자 첫 번째 줄에는 과자 한 개의 가격 K, 사려고 하는 과자의 개수 N, 현재 동수가 가진 돈 M이 각각 공백을 사이에 두고 주어진다. 단, K, N은 1,000 이하의 양의 정수이고, M은 10만 이하의 양의 정수이 www.acmicpc.net 2021. 7. 19.
[백준 15596] 정수 N개의 합 [C] 풀이 다음처럼 반복문 내부의 변화식 란에서 연산을 하면 틀린다. 이에 대해 아직 아는 정보가 없어 추후 알게된다면 글을 하나 작성하겠다. long long sum(int *a, int n) { long long ans = 0; for (int i = 0; i < n; i++, ans += a[i]); return ans; } 소스코드 long long sum(int *a, int n) { long long ans = 0; for (int i = 0; i < n; i++) ans += a[i]; return ans; } 출처 15596번: 정수 N개의 합 C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Python 2, PyPy2, Go, C.. 2021. 7. 18.
[백준 11022] A + B - 8 [C] 소스코드 #include int main() { int N, A, B; scanf("%d", &N); for (int i = 1; i 2021. 7. 18.
[백준 11021] A + B - 7 [C] 소스코드 #include int main() { int N, A, B; scanf("%d", &N); for (int i = 1; i 2021. 7. 18.