白峻14650の道を歩いて新千宿場三(Small)を発見
旭弟は「三」という音節が大好きです.人参、紅参、ナマコ、三星、李春森、三食、三時三食、だから旭済は3を遊ぶことにした.
3つの数字(0,1,2)でNビット3の倍数を作成します.作った倍数は自然水二森です.0で始まる数はできない数です3の倍数はいくつありますか.
に答える
3の倍数にするには、1桁あたりの合計が3の倍数でなければなりません.
Nの範囲は最大9なので、Brootforceで解けるといいです!
#include <iostream>
#include <string>
using namespace std;
int N;
int cnt = 0;
void brute_force(string& str, int cur) {
str += cur + '0';
if (str.length() == N) {
// 3의 배수가 되는지 검사
int sum = 0;
for (int i = 0; i < N; ++i) {
sum += str[i] - '0';
}
if (sum % 3 == 0) {
cnt++;
}
return;
}
else {
for (int i = 0; i < 3; ++i) {
brute_force(str, i);
str.pop_back();
}
}
}
int main(void) {
cin >> N;
for (int i = 1; i < 3; ++i) {
string str = "";
brute_force(str, i);
}
cout << cnt << "\n";
return 0;
}
似たような問題上の問題は簡単ですね.
Reference
この問題について(白峻14650の道を歩いて新千宿場三(Small)を発見), 我々は、より多くの情報をここで見つけました https://velog.io/@gkscodus11/백준-14650-걷다보니-신천역-삼Smallテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol