Pythonで数Nの桁数を数えるプログラムの書き方
ある数Nが与えられたとき、その数に含まれる桁の総数を求めることを考えましょう。例えば以下のようなケースです。
入力例1:
N = 891452
出力:
6
解説: 与えられた数891452は6桁の数字で構成されているため、この場合は「6」を返します。
入力例2:
N = 0074515
出力:
5
解説: 先頭の0を除いた有効な桁数が5桁であるため、出力は「5」となります。
この問題を解くためのアプローチ
この問題は、次の手順で解決できます。
数値nを入力として受け取ります。
関数countDigits(n)が入力nを受け取り、桁数をカウントして返します。
数値の各桁に対してループ処理を行い、カウンター変数を1ずつ増加させます。
最後にカウンターの値を結果として返します。
具体的な処理の流れ
整数除算(//演算子)を使って10で割るごとに末尾の1桁が削れていく性質を利用し、数が0になるまで繰り返すことで桁数を数えられます。
コード例
def countDigits(n):
ans = 0
while (n > 0):
ans = ans + 1
n = n // 10
return ans
n = 45758
print("与えられた数の桁数 :", countDigits(n))出力
上記のコードを実行すると、次の出力が得られます。
5
このように、シンプルなwhileループと整数除算を組み合わせるだけで、Pythonで効率的に桁数をカウントするプログラムを実装できます。
-
Pythonで行列内の「完全に囲まれた島」の数を数える方法を解説
問題の概要0と1のみで構成された2次元のバイナリ行列を考えます。ここで「1」は陸地、「0」は水を表します。島とは、隣り合った1の集まりであり、その周囲がすべて水で囲まれている領域のことです。本記事では、行列の中から端(境界)に一切接しておらず、完全に水で囲まれた島の数を数えるプログラムをPythonで実装する方法を解説します。例として、次のような入力が与えられた場合を考えてみましょう。この場合の出力は 2 となります。島は全部で3つ存在しますが、そのうち2つだけが完全に水で囲まれているためです。解法のアプローチ:DFS(深さ優先探索)この問題は、DFS(深さ優先探索)を用いることで効率的に解く
-
セットを使って文字列内の母音の数をカウントするPythonプログラム
本記事では、Pythonを使って文字列内に含まれる母音の数をカウントする方法について解説します。セット(set)を活用した効率的な実装を中心に、初心者の方にもわかりやすく説明していきます。 問題の概要 問題文:任意の文字列が与えられたとき、その文字列に含まれる母音の数をセットを使って数えます。 基本的なアプローチとしては、文字列全体を先頭から順に走査し、各文字が母音であるかどうかを判定します。母音であればカウントを1ずつ増やしていき、最終的な合計を出力します。 実装例 def vowel_count(str_): count = 0 # 母音をセットとして定義 vowe