テストコード|(c++)標準2588:乗算
に質問
(三桁)× (3桁)次の手順で実現します.
(1)と(2)の位置の3桁の自然数が与えられた場合、(3)、(4)、(5)、(6)の位置の値を求めるプログラムを作成します.
質問の表示
🎹入力
1行目には(1)位置の3桁の自然数、2行目には(2)位置の3桁の自然数が与えられる.
📢しゅつりょく
(3)、(4)、(5)、(6)の値を1行目から4行目に順次出力します.
ほどく
#include<iostream>
// std 네임스페이스 스코프를 생략하고 사용한다는 의미
using namespace std;
int main()
{
int a = 0, b = 0;
cin >> a >> b;
int digits[3];
// 두번째 숫자의 1의자리를 구한다.
digits[0] = b % 10;
// 10의 자리를 구한다.
digits[1] = (b % 100) / 10;
// 100의 자리를 구한다.
digits[2] = b / 100;
int result[4];
// (3) 구하기 : 두번째 숫자의 일의자리를 첫번째 숫자와 곱한다.
result[0] = a * digits[0];
// (4) 구하기 : 두번째 숫자의 십의자리를 첫번째 숫자와 곱한다.
result[1] = a * digits[1];
// (5) 구하기 : 두번째 숫자의 백의자리를 첫번째 숫자와 곱한다.
result[2] = a * digits[2];
// (6) 구하기 : 첫번째 숫자 a와 두번째 숫자 b를 곱한다.
result[3] = a * b;
const int length = sizeof(result) / sizeof(int);
for (int i = 0; i < length; i++)
{
cout << result[i] << '\n';
}
return 0;
}
以前の問題に比べて、難しいのは難しいが、簡単で簡単だ.コアは10個10個100個の席を探すことです.
私の場合
1位は
10으로 나누어떨어져서 나오는 값 0~9
で終了10の位置は
100으로 나누어지는 값 0~99에 10으로 나눈다
です100の位置は
100으로 나누면
で終了ここで10の位置はどうして10に分けられないのですか?このような疑問が生じる可能性もある.
しかし、10に分けると10以上の数字が含まれていることを忘れないでください.
つまり100席含むということです!!
アレイの初期化方法
int array[배열 길이]; // 배열의 길이는 상수만 입력할 수 있다(const)
// 0번째 인덱스 부터 지정한 숫자까지 대입되고 나머지는 0으로 초기화 됨
int cat[3] = { 0, 1 }; // cat[0] = 0, cat[1] = 1, cat[2] = 0
// 0번째 인덱스 부터 마지막 인덱스까지 0으로 모두 초기화 됨
int dog[5] = { }; // dog[0] = 0, dog[1] = 0 ...
参考資料とサイト(ありがとうございます)
Reference
この問題について(テストコード|(c++)標準2588:乗算), 我々は、より多くの情報をここで見つけました https://velog.io/@goblin820/코딩테스트-c-백준-2588-곱셈テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol