穷举法应用银行不同月息利率存款方案

#include <stdio.h>
#include <math.h>


int main()
{
	double sum,max = 0;
	int i,j,p,q,k,a,b,c,d,e;/*a,b,c,d,e,f分别对应不同期限的存款次数*/
	for(i = 0;i <= 2;i++)/*穷举所有存款方式*/
		for(j = 0;j <= (20 - i * 8) / 5;j++)
			for(p = 0;p <= (20 - i * 8 - j * 5) / 3;p++)
				for(q = 0;q <= (20 - i * 8 - j * 5 - p * 3) / 2;q++)
				{
					k = 20 - i * 8 - j * 5 - p * 3 - q * 2;
					sum = 2000 * pow(1 + 0.0063 * 12,k) * pow(1 + 0.0066 * 12 * 2,q) * pow(1 + 0.0069 * 12 * 3,p) * pow(1 + 0.0075 * 12 * 5 , j) * pow(1 + 0.0084 * 12 * 8, i);
					if(max < sum)
					{
							max = sum;
							a = i;
							b = j;
							c = p;
							d = q;
							e = k;
					}
				}
	printf("8年期限:%d times\n5年期限:%d times\n3年期限:%d times\n2年期限:%d times\n1年期限:%d times\nTotal:%lf 元,a,b,c,d,e,sum);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/ZCzhouchao1/article/details/81192336