백준 문제 1008번 : A/B
문제 :
정답 :
#include <cstdio>
using namespace std;
int main() {
double a, b;
scanf("%lf %lf", &a, &b);
printf("%.9lf", a / b);
return 0;
}
풀이 및 학습 내용 :
기본적이고 확실하게 잡아야하는 개념이다.
소수점 9자리 이상 출력해야하므로 double을 사용하였다.
처음에 문제를 제대로 안 읽고 생각없이 f를 사용하였다가 오답처리 당하였다.
float
메모리 크기 : 4바이트(32비트)
표현 가능 소수점 이하 자리수 : 6자리
double
메모리 크기 : 8바이트(64비트)
표현 가능 소수점 이하 자리수 : 15자리
백준 문제 2588번 : 곱셈
문제 :
정답 :
#include <cstdio>
using namespace std;
int main() {
int num1, num2;
scanf("%d", &num1);
scanf("%d", &num2);
printf("%d\n", num1 * (num2 % 10));
printf("%d\n", num1 * ((num2 % 100) / 10));
printf("%d\n", num1 * (num2 / 100));
printf("%d", num1 * num2);
return 0;
}
다른 정답(cstdlib or stdlib.h 이용) :
//#include <cstdio>
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char const *argv[]) {
int num1;
char num2[4];
cin >> num1;
cin >> num2;
cout << num1 * (num2[2] - '0') << "\n";
cout << num1 * (num2[1] - '0') << "\n";
cout << num1 * (num2[0] - '0') << "\n";
cout << num1 * atoi(num2) << endl;
return 0;
}
풀이 및 학습 내용 :
cstdlib는 atoi 함수가 선언된 헤더파일이다.
stdlib.h의 경우
cin >> num1;
cin >> num2;
... 를
scanf("%d", &num1);
scanf("%s", num2);
... 와 같이 작성
scanf("%s", num2); 의 경우 배열의 이름과 같이 주소를 가리키는 것들은 & 붙일 필요가 없다.
다만 배열의 특정 위치일 경우엔 &를 붙인다.
문제 출처 :
https://www.acmicpc.net/problem/1008
1008번: A/B
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
https://www.acmicpc.net/problem/2588
2588번: 곱셈
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
www.acmicpc.net
'C++ 코딩테스트 공부 (중단) > c++ 백준 문제풀이' 카테고리의 다른 글
#4 1차원 배열(2) (0) | 2022.03.26 |
---|---|
#4 1차원 배열(1) (0) | 2022.03.25 |
#3 반복문 (0) | 2022.03.23 |
#2 조건문 (0) | 2022.03.23 |
#0 단계별로 풀어보기 정복 (0) | 2022.03.23 |