はむ吉(のんびり)の練習ノート

プログラミングとことばに関する話題を中心に,思いついたこと,試してみたこと,学んだことを,覚え書きを兼ねてまとめます.その際に役立った,技術書,参考書,辞書,機器などの紹介も行います.

Windows 10 上で atcoder-cli を online-judge-tools と連携させて使う:導入からテストと提出までの基本的操作

online-judge-tools は,オンラインジャッジを利用し,競技プログラミングの問題を解く際に行う作業を支援します.また,atcoder-cliは,これと連携し,AtCoder における一連の作業をさらに省力化します.本記事では,これらの強力なツールを Windows 10 環境に導入し,コーディング,テスト,提出などの基本的操作を行うまでについてまとめます.使用言語は Python ですが,これ以外の言語でも応用可能です.

続きを読む

問題集から一問無作為に選び出題するのを繰り返したときの,既出の問題数:あるいは,多面サイコロを繰り返し振ったときの,出た目の種類数

問題集から一問無作為に選んで出題するのを繰り返したときに,既出の問題数にまつわる確率と期待値を,とある経緯で知りたくなりました.これは,面,あるいは目の数がかなり多いサイコロを繰り返し振ったときに,これまでに出た目の種類を考えるのと等価になります.助けを借りつつ,この問題に取り組んだ結果を,ここに備忘録を兼ねて書き残しておきます.

続きを読む

カレントディレクトリにある複数の PDF 文書をファイル名順に Python の PyPDF2 で結合する:コンテキストマネージャ自作の学習を兼ねて

複数の PDF ファイルがあり,これを一定の規則で結合したい場合があります.規則が単純ならば既存のソフトウェアで対応できますが,そうでなければ自分でスクリプトを書いたほうが円滑です.典型例として,カレントディレクトリの PDF ファイルをモジュール PyPDF2 を利用してその名称順に結合する Python スクリプトを作成したので,備忘録を兼ねて簡単な説明とともに記しておきます.その際に,コンテキストマネージャを自作する方法の学習を兼ねて「ひとひねり」を加えました.

続きを読む

Windows Subsystem for Linux で動く Debian GNU/Linux 環境に C/C++ の開発環境 (Visual Studio Code + Clang) を構築する

Windows 10 上の Windows Subsystem for Linux (WSL) により機能している Debian GNU/Linux 環境に,C/C++ の開発を行うための設定を施す手順を書き留めておきます.エディタとしては Visual Studio Code (VS Code)を,コンパイラとしては Clang をそれぞれ用います.

続きを読む

Windows Subsystem for Linux 上に Python 3 開発環境を構築する:Debian GNU/Linux 環境の初期設定から Anaconda + Visual Studio Code の導入まで

Windows 10 に備わっている Windows Subsystem for Linux (WSL) を使うと,手軽に Linux 環境を実現できます.本記事では,WSL に基づき Linux 環境を構築し,これに Python 3 ディストリビューション Anaconda およびエディタ Visual Studio Code を導入し設定する一連の手順について述べます.

続きを読む