Sunday, August 20, 2017

472A. Design Tutorial: Learn from Math Codeforces Problem Solution In (C++,C#) & Logic

http://codeforces.com/problemset/problem/472/A

এটা একদম সহজ একটা প্রোবলেম , তোমায় একটা সংখ্যা দেয়া থাকবে । । সেই সংখ্যাটিকে অবশ্যই , দুইটা যৌগিক নাম্বার এর যোগফল হিসেবে প্রকাশ করা যাবে .। তোমাকে , সেই দুইটি যৌগিক সংখ্যা প্রিন্ট করতে হবে । এখন এটা , তেমন কোনো ব্যপার না । তাহলে , তুমি একটা - লুপ নিবে আর স্বাভাবিকভাবেই ট্রাই করবে , জোড় সংখ্যা'র একটা লুপ খাটিয়ে কাজগুলো করবার তাই না ?? কারণ ,  ২ ছাড়া বাকি সব জোড় সংখ্যাই যৌগিক । যেমন ১৫ যদি দেয় ,তাহলে তুমি কি করবে ?? একটা লুপ ঘুরাবে , যেহেতু ১,২,৩ যৌগিক না ,তাই লুপ একেদম ৪ থেকেই শুরু করলে - তাহলে , অপর পাশে পাবে ( ১৫-৪)=১১ ,যা যৌগিক নয় । তাহলে , আমরা আপরপাশে যেটা পাবো - সেটা চেক করার জন্য একটা ফাংশন বানিয়ে ফেলি - যেটা চেক করবে কোনো সংখ্যা যৌগিক নাকি যৌগিক নয় ?? তাইলেই তো হয় , তাহলে ---     ফাংশন'টি আমাদের বলে দিবে যে ১১ যৌগিক নয়,তখন আমাদের লুপ আরো একধাপ ঘুরে
মান দাঁড়াবে ৬ তাহলে , অপরপাশে  ৯ , যেটা  আমাদের যৌগিক সংখ্যা চেক করার   ফাংশন'টি  বলে দিবে যে - এটা  যৌগিক । সো , এখন আমরা এটা নিয়ে নিব -- তাহলে উত্তর দাঁড়াবে   " 6   9 " । চলো , কোড দেখে ফেলি এবার ------------

IN C++ LANGUAGE..........................

#include<bits/stdc++.h>


using namespace std;


int prime_checking(int m)

{
    int i,p=0;
    int l=sqrt(m);
    for(i=2;i<=l+1;i++)
    {
        if(m%i==0)
        {
            p=1;
            return 0;
            break;
        }
        else
        {
            p=0;
        }

    }
    if(p==0)
    {
        return 1;
    }

}

int main()
{
    int n,j;
    cin>>n;
    for(j=4;j<=n-1;j+=2)
    {
        if(prime_checking(n-j)==0){
            cout<<j<<" "<<(n-j)<<endl;
            break;
    }
    else{
        continue;
    }

}
return 0;
}



IN C# LANGUAGE............


using System; 

 class Exercise11 


   
    static int prime_checking(int m)
{
    int l=(int)Math.Pow(m,0.5);
    int p=0;
    for(int i=2;i<=l+1;i++)
    {
        if(m%i==0)
        {
            p=1;
            break;
        }
    }
    if(p==0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
  
  
     static void Main()
   
   {
  
    int n=Convert.ToInt32(Console.ReadLine());
    for(int j=4;j<=n-1;j+=2)
    {
        if(prime_checking(n-j)==0){
            Console.WriteLine(j+" "+(n-j));
            break;
    }
   
    else{
        continue;
    }

}
   }

No comments:

Post a Comment