cyphen156
백준-입출력과 사칙연산-2588 곱셈 본문
2588번: 곱셈 (acmicpc.net)
2588번: 곱셈
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
www.acmicpc.net
입력받은 두 개의 세 자리수 자연수를 곱하는 과정을 자리수마다 출력하고, 합을 출력하면 되는 문제다.

제약사항
- 0< A, B < 1,000
C 풀이
곱셈_2588.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void calc(int first, int second){
printf("%d\n", first * (second % 10));
printf("%d\n", first * ((second % 100) / 10));
printf("%d\n", first * (second / 100));
printf("%d", first * second);
}
int main() {
int first, second;
scanf("%d %d", &first, &second);
calc(first, second);
return 0;
}
C++ 풀이
곱셈_2588.cpp
#include <iostream>
using namespace std;
int main()
{
int A, B;
cin >> A >> B;
cout << A * (B % 10) << '\n'
<< A * ((B % 100) / 10) << '\n'
<< A * (B / 100) << '\n'
<< A * B << endl;
return 0;
}
Extra
출력형식이 맘에 안든다 자릿수를 맞춰주자.
정답으로는 취급되지 않는 번외 코드
사용되는 함수
- setw(n) : 출력 형식을 n자릿수만큼 정렬해서 출력한다. (기본값은 오른쪽 정렬)
왼쪽 정렬을 수행하고 싶다면 setw()함수 앞에 cout << left 를 사용하면 된다.(internal, right옵션도 존재한다.) - setfill(' ') : ''빈 자릿수를 안의 문자로 채운다
- printf("%ns", "output") : C에서의 자릿수 맞추기, %-ns는 왼쪽정렬, 남는칸은 공백으로 n자릿수만큼 채워서 출력한다.
곱셈_2588_Extra.cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int A, B;
cin >> A >> B;
cout << setw(6) << setfill(' ') << A * (B % 10) << '\n'
<< setw(6) << setfill(' ') << A * ((B % 100) / 10) * 10 << '\n'
<< setw(6) << setfill(' ') << A * (B / 100) * 100 << '\n'
<< setw(6) << setfill('0') << A * B << endl;
return 0;
}
모든 예제 코드의 소스파일은 제 개인 깃허브 레포지토리 에 있습니다.
Workspace/알고리듬 풀이 at main · cyphen156/Workspace · GitHub
'컴퓨터공학 > 알고리듬 풀이' 카테고리의 다른 글
백준-입출력과 사칙연산-10171 고양이 (0) | 2023.09.26 |
---|---|
백준-입출력과 사칙연산-11382 꼬마 정민 (0) | 2023.09.26 |
백준-입출력과 사칙연산-10430 나머지 (0) | 2023.09.26 |
백준-입출력과 사칙연산-18108 1998년생인 내가 태국에서는 2541년생?! (0) | 2023.09.26 |
백준-입출력과 사칙연산-10926 ??! (0) | 2023.09.26 |