using System; namespace cs_ganri { /// /// Class1 ‚ÌŠT—v‚Ìà–¾‚Å‚·B /// public class GanriHensai { /// /// ŒŽŠz•ÔÏŠz /// /// Š—vŽ‘‹à /// •Ôωñ” /// ŒŽ—˜ /// Œ³—˜ž‚ÝŒŽŠz•ÔÏŠz public static int GetHensai(int Ganpon, int HensaiKaisu, double Geturi){ //Excel‚ÌPMTŠÖ”‚Æ“¯‚¶ double theTemp; theTemp = (double)Ganpon * (Geturi / ((double)1 - (Math.Pow(((double)1 + Geturi),(double)HensaiKaisu)))); return 0 - (int)theTemp; } public static int GetRisokuSum(int SouKaisu, int HensaiGaku, int Ganpon){ return SouKaisu * HensaiGaku - Ganpon; } /// /// ŽcŠz‚ð•Ô‚· /// /// Š—vŽ‘‹à /// Œ³—˜ž‚ÝŒŽŠz•ÔÏŠz /// ŒŽ—˜ /// ‰½‰ñ–Ú‚Ì•ÔÏ /// ŽcŠz‚ð•Ô‚· public static int GetZansai(int Ganpon, int Hensai, double Geturi, int Kaisu){ double theTemp; theTemp = (Math.Pow(((double)1 + Geturi),(double)Kaisu) * ((double)Ganpon - (double)Hensai / Geturi) + (double)Hensai / Geturi); return Convert.ToInt32(theTemp); } /// /// ŒŽ•ÔÏŒ³‹àŠz‚ð•Ô‚· /// /// Š—vŽ‘‹à /// ŒŽŠz•ÔÏŠz /// ŒŽ—˜ /// ‰½‰ñ–ڂ̉ñ” /// ŒŽŠzŒ³‹à•ÔÏŠz‚ð•Ô‚· public static int GetGankin(int Ganpon, int Hensai, double Geturi, int Kaisu){ //Žx•¥‚¢‘O‚ÌŽcÂ|Žx•¥‚¢Œã‚ÌŽc int theGankin; if(Kaisu > 1){ theGankin = GetZansai(Ganpon,Hensai,Geturi,Kaisu - 1) - GetZansai(Ganpon,Hensai,Geturi,Kaisu); }else{ theGankin = Ganpon - GetZansai(Ganpon,Hensai,Geturi,Kaisu); } return theGankin; } /// /// ŒŽŠz—˜‘§‚ð•Ô‚· /// /// ŒŽŠzŒ³—˜ž‚Ý•ÔÏŠz /// ŒŽŠzŒ³‹àŠz /// ŒŽŠz—˜‘§Šz‚ð•Ô‚· public static int GetRisoku(int TukiHensai, int Gankin){ return TukiHensai - Gankin; } } }