#include<stdio.h>
#include<stdlib.h>
#include<math.h>
//85321
int main()
{
int a = 0, b = 0, c = 0, d = 0, e = 0;
int a1, b1, c1, d1, e1;
double temp, sum = 0.0;
for (a = 0; a <3; a ++)
{
for (b = 0; b <= (20 - a*8)/5; b ++)
{
for (c = 0; c <= (20 - a*8 - b*5)/3; c ++)
{
for (d = 0; d <= (20 - a * 8 - b * 5 - c * 3)/2; d += 2)
{
e = 20 - a * 8 - b * 5 - c * 3 - d * 2;
temp = 2000 *
pow(1 + 8 * 0.0084 * 12, (double)a)*
pow(1 + 5 * 0.0075 * 12, (double)b )*
pow(1 + 3 * 0.0069 * 12, (double)c )*
pow(1 + 2 * 0.0066 * 12, (double)d )*
pow(1 + 0.0063 * 12, (double)e);
if (temp > sum)
{
a1 = a;
b1 = b;
c1 = c;
d1 = d;
e1 = e;
sum = temp;
}
}
}
}
}
printf("%d %d %d %d %d\n", a1, b1, c1, d1, e1);
printf("%.2f\n", sum);
return 0;
}
还想这样做,但是一直跑不出来:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
//85321
int main()
{
int a = 0, b = 0, c = 0, d = 0, e = 0;
double temp, sum = 0.0;
for (a = 0; a <= 20; a = +8)
{
for (b = 0; b <= 20 - a; b += 5)
{
for (c = 0; c <= 20 - a - b; c += 3)
{
for (d = 0; d <= 20 - a - b - c; d += 2)
{
e = 20 - a - b - c - d;
temp = 2000 *
pow(1 + 8 * 0.0084 * 12, (double)a / 8)*
pow(1 + 5 * 0.0075 * 12, (double)b / 5)*
pow(1 + 3 * 0.0069 * 12, (double)c / 3)*
pow(1 + 2 * 0.0066 * 12, (double)d / 2)*
pow(1 + 0.0063 * 12, (double)e);
if (temp > sum)
{
sum = temp;
}
}
}
}
}
printf("%f\n", sum);
return 0;
}