http://codeforces.com/problemset/problem/486/A
খুবই সহজ একটা সমস্যা ---
f(n) = - 1 + 2 - 3 + .. + ( - 1)n n
তোমায় একটা ধারা ফলো করতে হবে , সেখানে জোড় সংখ্যা গুলোর আগে প্লাস চিহ্ন ও বিজোড় সংখ্যাগুলির আগে মাইনাস চিহ্ন থাকবে । ।
একটা ধারা লিখেই ফেলি যেমন -----
-1 + 2 -3 +4 -5 + 6 -7 +8 -9 .................................
4 অবদি , যোগফল = 2 , 5 অবদি , যোগফল = -3
6 অবদি , যোগফল = 3 , 7 অবদি , যোগফল = -4
8 অবদি , যোগফল = 4 অরথাত, n/2 , 9 অবদি , যোগফল = -5 অর্থাৎ , - (n+1)/2
এর মানে , জোড় এর ক্ষেত্রে উত্তরগুলি বরাবরই অর্ধেক হচ্ছে দেয়া মান এর , আর বিজোড় এর ক্ষেত্রে হচ্ছে - (n+1)/2 । সো , আমরা কিন্তু সুত্র বের করে ফেলেছি , এখন আমরা চলো কোড লিখে ফেলি
IN C++ LANGUAGE.....................
IN C# LANGUAGE.......................
using System;
class Exercise11
{
static void Main()
{
long n =Convert.ToInt64(Console.ReadLine());
if(n % 2 == 0) Console.WriteLine(n/2);
else Console.WriteLine((-(n+1)/2));
}
}
খুবই সহজ একটা সমস্যা ---
f(n) = - 1 + 2 - 3 + .. + ( - 1)n n
তোমায় একটা ধারা ফলো করতে হবে , সেখানে জোড় সংখ্যা গুলোর আগে প্লাস চিহ্ন ও বিজোড় সংখ্যাগুলির আগে মাইনাস চিহ্ন থাকবে । ।
একটা ধারা লিখেই ফেলি যেমন -----
-1 + 2 -3 +4 -5 + 6 -7 +8 -9 .................................
4 অবদি , যোগফল = 2 , 5 অবদি , যোগফল = -3
6 অবদি , যোগফল = 3 , 7 অবদি , যোগফল = -4
8 অবদি , যোগফল = 4 অরথাত, n/2 , 9 অবদি , যোগফল = -5 অর্থাৎ , - (n+1)/2
এর মানে , জোড় এর ক্ষেত্রে উত্তরগুলি বরাবরই অর্ধেক হচ্ছে দেয়া মান এর , আর বিজোড় এর ক্ষেত্রে হচ্ছে - (n+1)/2 । সো , আমরা কিন্তু সুত্র বের করে ফেলেছি , এখন আমরা চলো কোড লিখে ফেলি
IN C++ LANGUAGE.....................
#include<iostream>
#include<cstdio> using namespace std; int main(){ long long n;
cin >> n; if(n % 2 == 0)cout << n/2 << endl;
else cout << -(n+1)/2 << endl;
return 0;
}
IN C# LANGUAGE.......................
using System;
class Exercise11
{
static void Main()
{
long n =Convert.ToInt64(Console.ReadLine());
if(n % 2 == 0) Console.WriteLine(n/2);
else Console.WriteLine((-(n+1)/2));
}
}
No comments:
Post a Comment