No.3ベストアンサー
- 回答日時:
全て wolvさんが答えているところを、まとめてこんな
ところです。
ちなみに当方は対数計算等も全くできず、完全に他人の
フンドシによる答えです。これでよろしければ
感謝は wolvサンの方にして下さい。では
#include<stdio.h>
#include<math.h>
int year(int en, float r){
int y=0;
double bai=1;
while(bai<2){
y++;
bai *=1+r/100.0;
printf("%d年後:%.6f倍 %d円\n", y, bai, (int)(en*bai));
}
return y;
}
int main(void)
{
int en;
float r;
double y;
while(1){
printf("預金額(円)…");
scanf("%d", &en);
printf("利率(%)…");
scanf("%f", &r);
year(en, r);
y = log(2)/log(1+r/100);
printf("year=%f年\n",y);
}
return 0;
}
No.2
- 回答日時:
logを使わずに,プログラミングで年数を求めるなら,
(C++ではなく,Cですが……)
int year(float r){
int y=0;
float bai=1;
while(bai<2){
y++;
bai*=1+r/100.0;
}
return y;
}
のように,まず年数を求める関数をつくり,
main(){
変数の宣言
while(1){
rの入力
y=year(r);
printf("year=%d\n",y);
}
}
のようにすればいいと思います.
変数の宣言部分と
rの入力の部分は,省略しました.
No.1
- 回答日時:
C++ ではないのですが……
実は,金額xは関係ありません.
年利r(%)が決まれば,何年で2倍になるかがきまります.
1年後は,(1+r/100)倍,
2年後は,{(1+r/100)^2}倍,(^2は2乗を表す.)
n年後は,{(1+r/100)^n}倍,(^nはn乗を表す.)
ちょうど2倍になるのがn年後だとすると,
2=(1+r/100)^n なので,
log(2)=log{(1+r/100)^n}
= n*log(1+r/100)
よって,
n = log(2)/log(1+r/100)
となります.
一番簡単なのは,Excelなどで,
A1セルに年利r(%)を,B1セルに =log(2)/log(1+A1/100)
と入力することでしょう.B1をB2,B3,B4,...にコピーすれば,
A2,A3,A4に入力した年利に対する年数が対応するB列のセルに表示されます.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 金融業・保険業 もうすぐ大学の金融論の試験なのですが問題が全然解けません...泣 どなたか分かる方いたら教えてもらえ 1 2023/07/21 22:03
- 簿記検定・漢字検定・秘書検定 簿記2級 表作成時の仕訳の問題 2 2022/07/07 18:15
- 財務・会計・経理 会計処理について質問させてください 賃金台帳の発生時の仕訳 賃金1000000/未払費用784488 2 2023/02/21 14:12
- 銀行・ネットバンキング・信用金庫 【あおぞら銀行の普通預金】の普通預金の金利が年0.2%で半年に1回利子が振り込まれるとS 6 2023/08/12 20:41
- 財務・会計・経理 ある会で、会計を担当しています。 2 2023/05/30 21:40
- 預金・貯金 仕組み預金 いまから始めるのはアリか? 6 2022/08/20 00:48
- 財務・会計・経理 雇用保険について質問です。 2022年の12月に初社員が入社したとします。雇用保険は法定福利の科目を 2 2023/07/18 20:27
- 債券・証券 仕訳のこの問題が分かりません。教えていただけるとありがたいです 1 2022/06/15 20:34
- 財務・会計・経理 経理処理について質問です。 ①12月に1名入社がありました。 ※それまでは役員と不定期のアルバイトの 1 2023/02/23 11:14
- 預金・貯金 銀行にお金を預けて銀行が破綻した時、普通預金の無利息口座だと1,000万円を超えても全額保護されると 4 2023/05/14 03:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
if と配列の組み合わせ
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
(int *)の意味
-
足して100になるような乱数のア...
-
PowerShellがうまくいかない
-
C言語 エラーの原因がわからな...
-
C言語で行列の積を計算できるよ...
-
C#で配列の分割
-
ポインタを使って関数の値の...
-
C言語 逆順の配列の仕方を教え...
-
因数分解を行うプログラムについて
-
各桁の和を返す関数
-
引数 戻り値 return文について
-
C言語で三目並べをするプログラ...
-
円周率
-
C言語の問題です。大至急回答お...
-
わかりません・・・。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
std::set<int> で、ある値が何...
-
C言語 エラーの原因がわからな...
-
c言語
-
system関数がうまくいかない
-
C++でvectorにテキストファイル...
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
return 1L
-
「{ } で囲むだけ」は正しい?
-
(マルチスレッド)_beginthrea...
-
PowerShellがうまくいかない
-
このプログラミング誰か教えて...
おすすめ情報