たなしょのメモ

日々勉強していることをつらつらと

B - Uneven Numbers

タイトル: B - Uneven Numbers

はじめに

たなしょです。

久しぶりの記事です。 夏休みもあり個人的に色々と考えてることの多い問題ともぶつかってしまいなかなか記事が書けませんでした。

問題文

https://atcoder.jp/contests/abc136/tasks/abc136_b

考え方

ゴリ押ししました。 10~99、1000~9999、100000~999999の間はcontinue文でcntのインクリメントをスキップするだけというとてもシンプルなアルゴリズムになりました。(プログラミング初学者の方でも考えつくかもです汗)

いざ実装

#include <iostream>
#include <vector>
#include <utility>
#include <algorithm>
#include <cstdlib>

typedef long long ll;

using namespace std;

int main() {
    int N, cnt = 0, i;

    cin >> N;

    for (i = 1; i <= N; i++) {
        if (i >= 10 && i <= 99) {
            continue;
        } else if (i >= 1000 && i <= 9999) {
            continue;
        } else if (i >= 100000 && i <= 999999) {
            continue;
        } 

        cnt++;

    }

    cout << cnt << endl;

    return 0;
}

最後に

夏休み明けから残業続きです。 C言語は難しいですね。工数が当初の見積もりより2〜3倍ほど増えています。助けてください。

最後まで読んでいただいてありがとうございました。 もしよろしければtwitterアカウント(@piklus100yen)もフォローしていただけると幸いです!