1. 用c++判断一个数是否超过 long long的小技巧,前段时间做了一道题目,这道题目可能爆long long ,但是知道爆 long long 之后应该输出什么,所以可以用这种方式:
long long x;
scanf("%lld", &x);
if(x < 0) puts("long long");
但是需要注意的是: cin 不可以,如果用 cin>>x 且输入的数字超过了 long long ,x的值是空。
题目:
C - Cindy
AC代码:
#include<bits/stdc++.h>
#define up(i, x, y) for(int i = x; i <= y; i++)
#define down(i, x, y) for(int i = x; i >= y; i--)
#define maxn ((int)1e6 + 10)
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
int len = 0;
double ans[maxn];
void init()
{
double t = 0.0;
for(ll i = 1; i <= maxn - 5; i += 1)
{
t += 1.0 / (i * i);
ans[++len] = t;
}
}
int main()
{
init();
ll n; while(~scanf("%lld", &n))
{
if(n < 0) n = len;
if(n > len) printf("%.5f\n", ans[len]);
else printf("%.5f\n", ans[n]);
}
}
2. ...