電子書籍の厳選無料作品が豊富!

ある国の人口は7億人で、人口増加率は最初3.14%ですが、翌年から0.04%ずつ下がります。この時、
1.最も人口増加の人数幅が大きいのは何年後ですか?
2.人口ピーク時の人口は何人ですか?
3.最も人口減少の人数幅が大きいのは何年後ですか?
4.人口が5万人以下になるのは何年後ですか?

A 回答 (3件)

def population(n):


__if n == 0:
____return 700000000
__else:
____return int(population(n - 1) * (1.0314 - 0.0004 * (n - 1)))

def width(n):
__return int(population(n) - population(n-1))

for n in range(1,400):

__print(str(n) + "年目の人口増加幅:" + str(width(n)))
__print(str(n) + "年目の人口:" + str(population(n)))

上記のプログラムを実行して解きました。(別に私はプログラマーでも無ければIT企業に勤めているわけでもないので、正しいことは保証しません。)

1.最も人口増加の人数幅が大きいのは何年後ですか?
29年後

2.人口ピーク時の人口は何人ですか?
24億748万2776人

3.最も人口減少の人数幅が大きいのは何年後ですか?
130年後

4.人口が5万人以下になるのは何年後ですか?
308年後
    • good
    • 0

補足



言語はpython3です。
    • good
    • 0

前の質問に回答したものです。


やり方は理解できたのですか?
やり方を理解せずに、条件が変わるたびに新たに質問していても埒があきませんよ?

n 年後の変化率を
 k(n) = 0.0314 - 0.00004n
で求め、前年の人口 N(n - 1) に「1 + 変化率」をかけてその年の人口を求め、それをもとにその年の変化率を求めてその年の人口にかけて翌年の人口を求め、・・・
ということを繰り返していけばよいのです。
 N(n) = N(n - 1) * [1 + k(n)] (n=1~ )

エクセルなどの表計算ソフトで、セルに演算式を埋め込んでず~っとコピーしていけばよいです。

そんなことでやってみれば

1. 29年後でした。

2.79年後に24億まで増えました。

3. 130年後でした。

4.308年後でした。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!