C++ AtCoder初級問題
Q&A
Closed
解決したいこと
AtCoderのC++の初心者向けの問題に取り組んでいます。
論理エラーが修正できず困っています。
発生している問題・エラー
4桁の正整数Nが与えられ、同じ数字が3つ以上並んでいるかどうかを判定し、並んでいればYes、そうでなければNoを出力するという問題です。
例)1111,1112,1222などはYes、1234,1211などはNo
該当するソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
int N, a, b, c, d ;
cin >> N ;
a = N / 1000 ;
b = N % 1000 / 100 ;
c = N % 100 / 10 ;
d = N % 10 ;
if( a==b==c || b==c==d ){
cout << "Yes" << endl ;
}
else{
cout << "No" << endl ;
}
// cout << a << b << c << d ;
}
自分で試したこと
abcdが1~4桁目の数字になるように定義しています。最後にそれぞれを変数で出力し、各桁の数字が正しく代入されていることを確認しました。
その他
この問題,解答のリンクです。(https://atcoder.jp/contests/abc079/submissions/62178169)
このガイドで習った範囲で解きたいので、解法は大きく変えずに教えていただきたいです。
プログラミング,サイトでの投稿ともに経験が少ないので不備や失礼があれば申し訳ないです。
ご回答よろしくお願いします
0