C言語でn番目の奇数を求めるプログラム
概要
数値Nが与えられたとき、N番目の奇数を求めるのがこの問題の目的です。
奇数とは、2で割り切れず、余りが0にならない数のことです。具体的には、1, 3, 5, 7, 9, … のように続く数列を指します。
奇数の性質と計算式
奇数の並びをよく観察すると、次のような規則性があることが分かります。
(2×1)-1 = 1
(2×2)-1 = 3
(2×3)-1 = 5
(2×4)-1 = 7
…
(2×N)-1
つまり、この問題を解くには、数値Nに2を掛け、その結果から1を引くだけで求められます。この「2N-1」という計算式こそが、N番目の奇数を導き出すシンプルな公式です。
実行例
入力: 4
出力: 7
(4番目の奇数は 1, 3, 5, 7 の順に並んでいます)
入力: 10
出力: 19
アルゴリズム
開始
ステップ1 → 整数型変数「n」を宣言し、値を代入する。
ステップ2 → n×2-1(奇数)を出力する。
終了
C言語での実装例
#include <stdio.h>
int main(int argc, char const *argv[]){
int n = 10;
// 奇数は偶数から1を引けば求められる
printf("N番目の奇数 = %d", n*2-1);
return 0;
}
出力結果
N番目の奇数 = 19
このように、ループ処理を一切使わず、単純な算術演算だけでN番目の奇数を効率的に求めることができます。計算量はO(1)であるため、Nがどれほど大きな値でも即座に結果を得られます。
-
Pythonで数の奇数の約数(奇因子)の合計を求めるプログラム
この記事では、「整数 n が与えられたとき、その数の奇数の約数(奇因子)の合計を求める」という問題の解き方を解説します。 問題文 整数 n が入力として与えられます。求めるのは、n の奇数の約数をすべて足し合わせた値です。 例えば n = 27 の場合、約数は 1, 3, 9, 27 のすべてが奇数であるため、合計は 1 + 3 + 9 + 27 = 40 となります。 アプローチのポイント この問題で最初に行うべきは、偶数の約数をすべて除外することです。 偶数の約数を取り除くには、n が 2 で割り切れなくなるまで繰り返し 2 で割ります。この操作によって n から 2 の因数が完全に
-
n番目のフィボナッチ数を求めるPythonプログラム【再帰・動的計画法】
本記事では、n番目のフィボナッチ数を計算するPythonプログラムについて解説します。フィボナッチ数とは?フィボナッチ数とは、次の漸化式で定義される数列のことです。Fn = Fn-1 + Fn-2ただし、初期値は F0 = 0、F1 = 1 とします。フィボナッチ数列の最初のいくつかの値は以下の通りです。0, 1, 1, 2, 3, 5, 8, 13, ..................フィボナッチ数は、再帰と動的計画法(Dynamic Programming)という2つの代表的な手法で求めることができます。それでは、それぞれの実装方法をPythonスクリプトで見ていきましょう。方法1:再帰