Home > Article > Web Front-end > 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;}