Maison > Article > interface Web > Codeforces Round #277 (Div. 2)-A. Calculating Function (规律)_html/css_WEB-ITnose
Calculating Function
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
For a positive integer n let's define a function f:
f(n)?=??-?1?+?2?-?3?+?..?+?(?-?1)nn
Your task is to calculate f(n) for a given integer n.
Input
The single line contains the positive integer n (1?≤?n?≤?1015).
Output
Print f(n) in a single line.
Sample test(s)
input
output
input
output
-3
Note
f(4)?=??-?1?+?2?-?3?+?4?=?2
f(5)?=??-?1?+?2?-?3?+?4?-?5?=??-?3
解题思路:大水题一枚,直接找规律。n%2==0时,f = n/2; 否则,f = -(n+1)/2.
AC代码:
#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <math.h>#include <stdlib.h>#include <time.h>using namespace std;#define INF 0x7fffffffint main(){// #ifdef sxk// freopen("in.txt","r",stdin);// #endif long long n; while(scanf("%lld",&n)!=EOF) { if(n & 1) printf("%lld\n", -(n+1)/2); else printf("%lld\n", n/2); } return 0;}</time.h></stdlib.h></math.h></string></map></set></queue></vector></algorithm></iostream></string.h></stdio.h>