看板 PublicServan
請先參考這篇 https://www.fubon.com/banking/document/news/TW/deposit_interest.pdf 每日利息之計算方式如下:1,000,000 元*0.8%*1/365 =21.9178081 元,四捨五入至小數點第五位後每日利息相當於 21.91781 元。假設計息期間首月 31 日 、次月 28 日,則該 2 個月之利息分別為: (1)21.91781*31=679.45211,四捨五入至元,即 679 元整; (2) 21.91781*28=613.69868,四捨五入至元,即 614 元整。 將code start 到 code end 放入此站 然後點網站中第一列的Run看結果 https://www.onlinegdb.com/online_c++_compiler 如圖 https://www.mediafire.com/view/qd3cp0zeb081c67/fubon_continue.png/file 修改成可連算6年 可以改 i < 6 to i < 20 連算20年 但注意行規上限是70萬 //code start #include <iostream> #include <stdio.h> #include <math.h> int main() { double half_interest0; double half_interest1; double accumulation = 0.0; double principal_interest = 0.0; //Round to five decimal places accumulation += round((principal_interest + 10000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + 20000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 28; accumulation += round((principal_interest + 30000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + 40000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 30; accumulation += round((principal_interest + 50000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + 60000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 20; half_interest0 = accumulation; accumulation = 0.0; accumulation += round((principal_interest + half_interest0 + 60000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 10; //6/21 pay interest accumulation += round((principal_interest + half_interest0 + 70000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 80000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 90000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 30; accumulation += round((principal_interest + half_interest0 + 100000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 110000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 30; accumulation += round((principal_interest + half_interest0 + 120000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 20; half_interest1 = accumulation; accumulation = 0.0; accumulation += round((principal_interest+half_interest0+half_interest1+120000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 11; //12/21 pay interest std::cout << "Result0: " << half_interest0 + half_interest1 << std::endl; principal_interest += 120000 + half_interest0 + half_interest1; accumulation += round((principal_interest + 10000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + 20000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 28; accumulation += round((principal_interest + 30000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + 40000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 30; accumulation += round((principal_interest + 50000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + 60000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 20; half_interest0 = accumulation; accumulation = 0.0; accumulation += round((principal_interest + half_interest0 + 60000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 10; //6/21 pay interest accumulation += round((principal_interest + half_interest0 + 70000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 80000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 90000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 30; accumulation += round((principal_interest + half_interest0 + 100000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 110000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 30; accumulation += round((principal_interest + half_interest0 + 120000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 20; half_interest1 = accumulation; accumulation = 0.0; accumulation += round((principal_interest+half_interest0+half_interest1+120000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 11; //12/21 pay interes std::cout << "Result1: " << half_interest0 + half_interest1 << std::endl; principal_interest += 120000 + half_interest0 + half_interest1 ; accumulation += round((principal_interest + 10000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + 20000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 28; accumulation += round((principal_interest + 30000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + 40000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 30; accumulation += round((principal_interest + 50000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + 60000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 20; half_interest0 = accumulation; accumulation = 0.0; accumulation += round((principal_interest + half_interest0 + 60000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 10; //6/21 pay interest accumulation += round((principal_interest + half_interest0 + 70000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 80000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 90000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 30; accumulation += round((principal_interest + half_interest0 + 100000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 110000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 30; accumulation += round((principal_interest + half_interest0 + 120000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 20; half_interest1 = accumulation; accumulation = 0.0; accumulation += round((principal_interest+half_interest0+half_interest1+120000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 11; //12/21 pay interes std::cout << "Result2: " << half_interest0 + half_interest1 << std::endl; std::cout << std::endl; principal_interest = 0.0; accumulation = 0.0; for (int i = 0; i<5; i++) { accumulation += round((principal_interest + 10000) * 1.595 / 100 / 365*100000.0)/100000.0 * 31; accumulation += round((principal_interest + 20000) * 1.595 / 100 / 365*100000.0)/100000.0 * 28; accumulation += round((principal_interest + 30000) * 1.595 / 100 / 365*100000.0)/100000.0 * 31; accumulation += round((principal_interest + 40000) * 1.595 / 100 / 365*100000.0)/100000.0 * 30; accumulation += round((principal_interest + 50000) * 1.595 / 100 / 365*100000.0)/100000.0 * 31; accumulation += round((principal_interest + 60000) * 1.595 / 100 / 365*100000.0)/100000.0 * 20; // half_interest0 = accumulation; accumulation = 0.0; accumulation += round((principal_interest + half_interest0 + 60000) * 1.595 / 100 / 365*100000.0)/100000.0 * 10; /*6/21 pay interest*/ accumulation += round((principal_interest + half_interest0 + 70000) * 1.595 / 100 / 365*100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 80000) * 1.595 / 100 / 365*100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 90000) * 1.595 / 100 / 365*100000.0)/100000.0 * 30; accumulation += round((principal_interest + half_interest0 + 100000) * 1.595 / 100 / 365*100000.0)/100000.0 * 31; accumulation += round((principal_interest + half_interest0 + 110000) * 1.595 / 100 / 365*100000.0)/100000.0 * 30; accumulation += round((principal_interest + half_interest0 + 120000) * 1.595 / 100 / 365*100000.0)/100000.0 * 20; // half_interest1 = accumulation; accumulation = 0.0; accumulation += round((principal_interest + half_interest0 + half_interest1 + 120000) * 1.595 / 100 / 365 * 100000.0)/100000.0 * 11; /*12/21 pay interest*/ std::cout << "year total interest: " << half_interest0 + half_interest1 << std::endl; principal_interest += 120000 + half_interest0 + half_interest1; std::cout << "principal_interest: " << principal_interest << std::endl << std::endl; } getchar(); } //code end 大家再請更正 定期儲蓄存款二年期 調整日期 固定 機動 2023/03/28 1.5550 1.5950 2022/12/20 1.4300 1.4700 2022/09/27 1.3050 1.3450 2022/06/21 1.1800 1.2200 2022/03/22 1.0550 1.0950 ※ 引述《fatalfeel2 (風在動)》之銘言: : 公教 定期儲蓄存款 半年給息 利率1.595% : 附件為細算公式 至少問了六位行員 : 如果不說 你一定不知道Trick在那裡 : 那一家的我不想說了 : 最後得知 它是單利 同時 以int(integer整數去除小數點) 來算 : 你可以心算出第一年前兩個月是 0 : 無言........................... : 公教人員 你們辛苦了 : ////////////////////////////細算公式/////////////// : Result0: 858 第一年利 : Result1: 2801 第二年利 : Result2: 4760 第三年利 : 將code start 到 code end 放入此站 然後點網站中第一列的Run看結果 : https://www.onlinegdb.com/online_c++_compiler : 如圖 : https://www.mediafire.com/view/yvgqp550i4017zx/bank_interest.png/file : //code start : #include <iostream> : #include <stdio.h> : int main() : { : double half_interest0; : double half_interest1; : double result = 0.0; : result += ((int)(10000 * 1.595 / 100 / 365)) * 31; : result += ((int)(20000 * 1.595 / 100 / 365)) * 28; : result += ((int)(30000 * 1.595 / 100 / 365)) * 31; : result += ((int)(40000 * 1.595 / 100 / 365)) * 30; : result += ((int)(50000 * 1.595 / 100 / 365)) * 31; : result += ((int)(60000 * 1.595 / 100 / 365)) * 20; : half_interest0 = result; : result += ((int)((60000 + half_interest0) * 1.595 / 100 / 365)) * 10; : /*6/21 pay interest*/ : result += ((int)((70000 + half_interest0) * 1.595 / 100 / 365)) * 31; : result += ((int)((80000 + half_interest0) * 1.595 / 100 / 365)) * 31; : result += ((int)((90000 + half_interest0) * 1.595 / 100 / 365)) * 30; : result += ((int)((100000 + half_interest0) * 1.595 / 100 / 365)) * 31; : result += ((int)((110000 + half_interest0) * 1.595 / 100 / 365)) * 30; : result += ((int)((120000 + half_interest0) * 1.595 / 100 / 365)) * 20; : half_interest1 = result; : result += ((int)((120000 + half_interest1) * 1.595 / 100 / 365)) * 11; : /*12/21 pay interest*/ : std::cout << "Result0: " << result << std::endl; : result = 0.0; : result += ((int)((120000 + 858 + 10000) * 1.595 / 100 / 365)) * 31; : result += ((int)((120000 + 858 + 20000) * 1.595 / 100 / 365)) * 28; : result += ((int)((120000 + 858 + 30000) * 1.595 / 100 / 365)) * 31; : result += ((int)((120000 + 858 + 40000) * 1.595 / 100 / 365)) * 30; : result += ((int)((120000 + 858 + 50000) * 1.595 / 100 / 365)) * 31; : result += ((int)((120000 + 858 + 60000) * 1.595 / 100 / 365)) * 20; : half_interest0 = result; : result += ((int)((120000 + 858 + 60000 + half_interest0) * 1.595 / 100 / : 365)) * 10; /*6/21 pay interest*/ : result += ((int)((120000 + 858 + 70000 + half_interest0) * 1.595 / 100 / : 365)) * 31; : result += ((int)((120000 + 858 + 80000 + half_interest0) * 1.595 / 100 / : 365)) * 31; : result += ((int)((120000 + 858 + 90000 + half_interest0) * 1.595 / 100 / : 365)) * 30; : result += ((int)((120000 + 858 + 100000 + half_interest0) * 1.595 / 100 / : 365)) * 31; : result += ((int)((120000 + 858 + 110000 + half_interest0) * 1.595 / 100 / : 365)) * 30; : result += ((int)((120000 + 858 + 120000 + half_interest0) * 1.595 / 100 / : 365)) * 20; : half_interest1 = result; : result += ((int)((120000 + 858 + 120000 + half_interest1) * 1.595 / 100 / : 365)) * 11; /*12/21 pay interest*/ : std::cout << "Result1: " << result << std::endl; : half_interest0 = 0.0; : result = 0.0; : result += ((int)((240000 + 858 + 2801 + 10000) * 1.595 / 100 / 365)) * 31; : result += ((int)((240000 + 858 + 2801 + 20000) * 1.595 / 100 / 365)) * 28; : result += ((int)((240000 + 858 + 2801 + 30000) * 1.595 / 100 / 365)) * 31; : result += ((int)((240000 + 858 + 2801 + 40000) * 1.595 / 100 / 365)) * 30; : result += ((int)((240000 + 858 + 2801 + 50000) * 1.595 / 100 / 365)) * 31; : result += ((int)((240000 + 858 + 2801 + 60000) * 1.595 / 100 / 365)) * 20; : half_interest0 = result; : result += ((int)((240000 + 858 + 2801 + 60000 + half_interest0) * 1.595 / : 100 / 365)) * 10; /*6/21 pay interest*/ : result += ((int)((240000 + 858 + 2801 + 70000 + half_interest0) * 1.595 / : 100 / 365)) * 31; : result += ((int)((240000 + 858 + 2801 + 80000 + half_interest0) * 1.595 / : 100 / 365)) * 31; : result += ((int)((240000 + 858 + 2801 + 90000 + half_interest0) * 1.595 / : 100 / 365)) * 30; : result += ((int)((240000 + 858 + 2801 + 100000 + half_interest0) * 1.595 : / 100 / 365)) * 31; : result += ((int)((240000 + 858 + 2801 + 110000 + half_interest0) * 1.595 : / 100 / 365)) * 30; : result += ((int)((240000 + 858 + 2801 + 120000 + half_interest0) * 1.595 : / 100 / 365)) * 20; : half_interest1 = result; : result += ((int)((240000 + 858 + 2801 + 120000 + half_interest1) * 1.595 : / 100 / 365)) * 11; /*12/21 pay interest*/ : std::cout << "Result2: " << result << std::endl; : return 0; : } : //code end -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.93.159 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PublicServan/M.1698134548.A.0E3.html ※ 編輯: fatalfeel2 (114.32.93.159 臺灣), 10/25/2023 16:29:41
qazws08: 先幫推,不過這算活存類預備金概念,比定存薛也還行 10/26 05:32