C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で入力した数値の因数(約数)をすべて表示するプログラムの作り方

この記事では、ユーザーが入力した数値の因数(約数)をすべて表示するC#プログラムの作り方を解説します。

因数とは、その数を余りなく割り切ることができる整数のことです。たとえば、12の因数は「1、2、3、4、6、12」の6つになります。

手順1:数値を入力する

まず、因数を求めたい数値をコンソールから入力します。int.Parse()を使うことで、文字列として読み込んだ入力値を整数型に変換できます。

Console.WriteLine("Enter the Number:");
n = int.Parse(Console.ReadLine());

手順2:ループで因数を判定する

次に、1から入力された数値まで順番にループ処理を行い、剰余演算子%を使って割り切れるかどうかを判定します。余りが0になれば、その数は因数です。

for (i = 1; i <= n; i++) {
   if (n % i == 0) {
      Console.WriteLine(i);
   }
}

サンプルコード全体

以下のコードを実行すると、入力した数値のすべての因数を画面に表示できます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Demo {
   class ApplicationOne {
      static void Main(string[] args) {
         int n, i;
         Console.WriteLine("Enter the Number:");
         n = int.Parse(Console.ReadLine());
         Console.WriteLine("Factors:");
         for (i = 1; i <= n; i++) {
            if (n % i == 0) {
               Console.WriteLine(i);
            }
         }
         Console.ReadLine();
      }
   }
}

実行結果の例

たとえば「40」を入力した場合、プログラムの出力は次のようになります。

Enter the Number:
40
Factors:
1
2
4
5
8
10
20
40

補足:処理のポイント

  • ループ変数iを1から始めることで、必ず最小の因数である1が含まれます。
  • n % i == 0という条件式で、niで割り切れるかどうかを判定しています。
  • 最後のConsole.ReadLine()は、コンソール画面がすぐに閉じないようにするための待機処理です。
  1. Pythonで数の偶数の約数の合計を求めるプログラムの実装方法

    本記事では、以下の問題文に対する解決策について学びます。問題文整数 n が与えられたとき、その数の偶数の約数(偶因子)の合計を求めることが課題です。この問題を解くには、まず奇数の約数をすべて除外する必要があります。入力された数が奇数の場合、偶数の約数は一つも存在しないため、直接 0 を返します。そうでない場合は、以下のコードで示すアプローチに従います。アルゴリズムの考え方このアプローチでは素因数分解を活用します。約数の合計は「各素因数の冪乗の和の積」として表せるという性質を利用します。偶数の約数のみを対象とするため、素因数 2 の部分については 20(つまり 1)を除外し、21 以降の項だけを

  2. Pythonプログラム:数の一意な素因数の積を求める方法

    はじめに 本記事では、次の問題に対する解き方を学びます。 問題文: 整数 n が与えられたとき、その数が持つ一意な(重複しない)素因数をすべて求め、それらの積を返します。 例: 入力:num = 11 出力:積は 11 説明: 入力された数は 11 で、素因数は 11 のみです。 したがって、その積も 11 となります。 アプローチ1:総当たり法(ブルートフォース) i = 2 から n+1 までの for ループを使い、i が n の約数であるかどうかを確認します。約数であれば、さらに i 自身が素数かどうかを判定し、素数なら積に掛け合わせます。この処理を i が n に達するまで繰り返しま