2017年度「プログラミング言語1」「プログラミング言語演習」のページ

練習問題

2017年4月21日出題
    1. 正整数\(n\)の素因数の個数を\(f(n)\)とする。ただし、\(n\)を複数回割る素因数については、その回数分数える。すなわち、\(n\)が \(n = {p_1}^{e_1}{p_2}^{e_2}\cdots {p_k}^{e_k}\) と素因数分解できれば、\(f(n) = e_1 + e_2 + \cdots + e_k\) と定める。ただし、\({p_1},\ldots,{p_k}\) は相異なる素数で、\(e_1,\ldots,e_k\) は正整数とする。たとえば、\(360=2^3\cdot3^2\cdot5^1\) なので、\(f(360) = 3+2+1 = 6\) である。

      正整数\(n\)を入力して、\(f(n)\) を出力するプログラムを書け。

    2. 正整数\(n\)の素因数の個数を\(f(n)\)とする。ただし、\(n\)を複数回割る素因数についても1個と数える。すなわち、\(n\)が \(n = {p_1}^{e_1}{p_2}^{e_2}\cdots {p_k}^{e_k}\) と素因数分解できれば、\(f(n) = k\) と定める。ただし、\({p_1},\ldots,{p_k}\) は相異なる素数で、\(e_1,\ldots,e_k\) は正整数とする。たとえば、\(360=2^3\cdot3^2\cdot5^1\) なので、\(f(360) = 3\) である。

      正整数\(n\)を入力して、\(f(n)\) を出力するプログラムを書け。

    1. 正整数\(n\)の約数の個数を\(f(n)\)とする。たとえば、\(28\) の約数は \(1\), \(2\), \(4\), \(7\), \(14\), \(28\) の6個なので、\(f(28) = 6\) である。

      正整数\(n\)を入力して、\(f(n)\) を出力するプログラムを書け。

    2. 正整数\(n\)の約数の総和を\(f(n)\)とする。たとえば、\(28\) の約数は \(1\), \(2\), \(4\), \(7\), \(14\), \(28\) の6個なので、\(f(28) = 1 + 2 + 4 + 7 + 14 + 28 = 56\) である。

      正整数\(n\)を入力して、\(f(n)\) を出力するプログラムを書け。


戻る
奈良女子大学生活環境学部情報衣環境学科生活情報通信科学コース