前面是拉丁文的说明,刚开始以为没什么用,然后想当然的去写,结果翻车了。因为这段文字里边有一个很重要的信息就是,当这个值超过400的时候输出MAGNA NIMIS!。
那段文字大致意思:输入11个数,函数跟5,3有关,当这个函数值大于400时输出“MAGNA NIMIS”!
我找到的规律:
f(-9) = -3642.00, - 3.00 = -3645, / 5 = 729 = 9^3
f(-5) = -622.76, - 2.23 = - 625, / 5 = 125 = 5^3
f(-3) = -133.27, - 1.73 = - 135, / 5 = 27 = 3^3
f(-2) = -38.59, - 1.41 = -40 / 5 = 8 = 2^3
可以发现f(n) = 5 * n^3 +abs(n)^0.5
下面展示代码
。
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
int a[15];
for(int i = 1; i <= 11; i++)
scanf("%d", &a[i]);
for(int i = 11; i > 0; i--){
double result = 5 * pow(a[i], 3) + sqrt(abs(a[i]));
if(result > 400)
printf("f(%d) = MAGNA NIMIS!\n", a[i]);
else{
printf("f(%d) = %.2f\n", a[i], result);
}
}
return 0;
}
题目链接:https://codeforces.com/contest/1331/problem/G