GUZAI3ノートブック

友人であるGUZAI3様の依頼で備忘録を書いています。

2020-01-01から1年間の記事一覧

2020年もそろそろ終わるので今年を振り返ろうと思う

2021年は色々と転機になりそうなので、いまのうちにざっくりと振り返っておく。 ・趣味 外出せずにできることをした。時勢から引きこもりがちなので、精神安定としても。ゲームだとbeatmaniaIIDX。やはり良いゲームだし、気分転換になる。新しいコントローラ…

C++のLambda式で多重for文を抜ける

序 多重for文 を抜ける方法はいくつかあって、例えば各ループごとにbreak判定したり、goto文で飛ぶ。最近は Lambda式 でうまく抜ける方法を知ったので、AtCoderの過去問を解く際に使ってみた。 過去問 atcoder.jp 提出コード #include <iostream> #include <vector> int main()</vector></iostream>…

AtCoderで緑色になった

初めて茶色に入ってからおおよそ5ヶ月。AtCoder で緑色になった。 体感、ABC-C問題までを確実に解くことで到達できた。キリがよいので振り返る。 みんな大好き AtCoder Problems 様で実績を確認。 AC数は相場が分からない。 Streakは意識して繋いだ。 Diff…

非日常の一ヶ月間を振り返り 2nd season

緊急事態は終わったものの、様々な事情により再び非日常が続いたので、その所感を残しておく。2ns season ということで、5月の振り返りをベースに考えてみる。 健康 風邪を引いたりはしなかった。 運動不足がヤバい。とにかくヤバい。 - > ジムが再開したの…

VSCodeの補完をC++14からC++17に変更する

C++17だと lcm (最大公約数) などのライブラリが使えるようになったが、C++14の環境だと構文エラーになる。 AtCoderのジャッジ更新があり、手元の環境をC++14からC++17に移行した。 移行といっても、グザイが必要なのはコード補完とコンパイルをC++17に対応…

C言語で再帰関数を使わずに最大公約数(GCD)を求める

定番であるユークリッドの互除法で。 #include <stdio.h> int main() { unsigned int num1 = 1029; // GCDを求めたいペアのひとつ unsigned int num2 = 1071; // GCDを求めたいペアのひとつ // GCD計算 unsigned int a = num1; unsigned int b = num2; unsigned int r</stdio.h>…

第三回アルゴリズム実技検定(PAST)を受験した

結果 52点 (初級) 各問題の振り返り (解けたG問題まで) A問題 使えそうな関数をググって transform を使った。 ただし using namespace std; をすると名前空間で問題になることがあるみたい。いきなりハマって焦った。 参考 c++ - std::transform() and toup…

非日常の一ヶ月間を振り返り

緊急事態宣言で非日常がおおよそ一ヶ月続いたので、その所感を残しておく。 将来同じような事が起きたときに、役に立つかもしれない。 健康 風邪を引いたりはしなかった。 運動不足がヤバい。とにかくヤバい。 朝昼晩とラジオ体操をしたので、ギリギリ健康を…

AtCoderで茶色になった

初回の参加からだいたい3ヶ月。 体感として、C問題までを早く解くことでなんとか到達できた。 ここまでのパフォーマンス値をみると、緑色 (Rate 800) には全然達しない。 伸ばすためにはD問題を解く地力が必要か。ひとまず日課としては、 AtCoder Problems …

配列をstd::sortに食わせるときは「先頭を指すイテレータ」と「末尾の次を指すイテレータ」を渡す

C++

ソートしたい配列の「先頭」と「末尾」ではなく、「先頭」と「末尾の次」を渡す。以下の配列でソートを試してみる。 位置 0 1 2 3 4 要素 5 43 7 89 1 ■「末尾のイテレータ」を渡す例 #include <algorithm> #include <iostream> int main() { int num[5] = {5, 43, 7, 89, 1}; std</iostream></algorithm>…

正整数の除算で小数点以下を切り上げたいときは『分子』に『分母-1』を足す

■やりたいこと 『正の整数 A, B について、Bを最低何倍すればA以上になるか。(答えは整数倍とする。)』を、 プログラムの整数除算(小数点以下切り捨て)で求めたい。たとえば、A = 7, B = 2 のときは 4 倍。 たとえば、A = 8, B = 4 のときは 2 倍。 (割…

AtCoderのRatedコンテストに10回参加した

レートはもうすぐ茶色というところまで伸びた。各回の所感をメモしておく。 ABC154 3完 ほろ酔い状態で「AtCoderのコンテストやってみるか~~」のノリで初挑戦。 途中参加なのと、ゆっくり解いていたのでパフォ低め。初回なので雰囲気重視だった。 ABC155 2…

C言語でFizzBuzz

#include <stdio.h> int main() { int end = 128; // 出力数 for (int n = 1; n < end; n++) { if (n % 15 == 0) { puts("FizzBuzz"); } else if (n % 3 == 0) { puts("Fizz"); } else if (n % 5 == 0) { puts("Buzz"); } else { printf("%d\n", n); } } return 0; } </stdio.h>…

Arduinoでタクトスイッチを押したらLEDがON/OFFするやつをした

Arduinoマニュアル本「Arduinoをはじめよう 第3版」の序盤にある例をそのまま実装したもの。一応電気が流れるから、配線には気をつけたほうが良いね。上図の配線ではタクトスイッチとLEDの間に抵抗を挟むことで、LEDに過剰な電圧が加わることを防いでいる。…

「組込みエンジニアの教科書」を読んだ

読んだ本 「組込みエンジニアの教科書」(渡辺登(著), 牧野進二(著)) https://www.amazon.co.jp/dp/B07QV5SZ1M ざっくりとした感想 序盤は座学。 なんとな~く知っていた内容の復習になった。 組込みエンジニアがつくる組込みシステムとはなんぞや? CP…