পৃষ্ঠাসমূহ

সোমবার, ২৯ ফেব্রুয়ারী, ২০১৬

মুক্তি পেয়েছে রাসবেরি পাইয়ের নতুন মডেল রাসবেরি পাই ৩

অাজকে রাসবেরি পাই ফাউন্ডেশন তাদের ব্লগে রাসবেরি পাই ৩ এর ঘোষণা দিয়েছে । যাতে রয়েছে ৬৪ বিট অার্ম ভি৮ কোয়াড কোর প্রসেসর যার ক্লক স্পিড ১.২ গিগাহার্টজ( রাসবেরি পাইয়ে ১ এর চেয়ে প্রায় ১০ গুণ বেশি গতি রাসবেরি পাই ফাউন্ডেশনের বেঞ্চমার্ক অনুযায়ী ) । ওয়াইফাই ও ব্লুটুথ অাছে এই বোর্ডটিতে । মূল্য রাখা হয়েছে ৩৫ ডলার ।

Raspberry Pi 3 Model B
Rasberry Pi 3 Model B ছবি: রাসবেরি পাই ফাউন্ডেশনের ওয়েবসাইট 




নতুন কি অাছে ?
৮০২.১১এন ওয়ারলেস ল্যান যা দিয়ে ইন্টারনেটের সাথে সংযুক্ত করা যাবে  । রয়েছে  ব্লুটুথ ভার্সন  ৪.১ যা দিয়ে ব্লুটুথ মাউস ও কিবোর্ডের সাথে সংযুক্ত করা যাবে ।

রাসবেরি পাই ৩ রাসবেরি পাই ১ ও ২ এর সাথে কমপ্যাটিবল । সব কানেক্টর অাগের মডেলগুলোর মত একই জায়গায় অাছে এবং সেগুলোর কাজও অাগের মতই । অাগের মত ৫ ভোল্টের মাইক্রো ইউএসবি দিয়ে চালানো যাবে  । অনলাইনে ডিস্ট্রিবিউটরদের কাছ থেকে কেনা যাবে । তবে বাংলাদেশের রোবোটিকস ও ইলেক্ট্রনিকসের অনলাইন শপে পেতে হলে অাপনাকে কিছুদিন অপেক্ষা করতে  হবে ।

রবিবার, ২১ ফেব্রুয়ারী, ২০১৬

Timus Online Judge 1086. Cryptography Solution

1086. Cryptography
Language: c++


#include <iostream>
#include <vector>
#define M 1000000
using namespace std;
bool marked[M];

bool isPrime(int n)
{
    if (n < 2) return false;
    if (n == 2) return true;
    if (n % 2 == 0) return false;
    return marked[n] == false;
}

void sieve(int n)
{
    for (int i = 3; i * i <= n; i += 2)
    {
        if (marked[i] == false)
        {
            for (int j = i * i; j <= n; j += i + i)
            {
                marked[j] = true;
            }
        }
    }
}
int main()
{

    int k,num;
    cin>>k;
    sieve(1000000);

    vector<int> result;

    for(int i = 0; i<1000000; i++)
        if(isPrime(i))
            result.push_back(i);
    while(k-->0)
    {

        cin>>num;
        cout<<result[num-1]<<endl;


    }

}


শনিবার, ২০ ফেব্রুয়ারী, ২০১৬

সি লাইব্রেরি ফাংশন log() ব্যবহার করে যে কোন সংখ্যার ন্যাচারাল লগারিদম বের করার টিউটোরিয়াল

সি প্রোগ্রামিং ভাষায় লগারিদম বের করার জন্যে অামরা লাইব্রেরি ফাংশন ব্যবহার করতে পারি । অাজ অামরা দেখব ন্যাচারাল লগারিদম বের করার জন্য log() লাইব্রেরি ফাংশনের ব্যবহার। e ভিত্তিক লগারিদমকে ন্যাচারাল লগারিদম বলা হয় ।

log()  ফাংশনটি প্যারামিটার হিসেবে একটি ফ্লোটিং পয়েন্ট(ইন্টিজার,ডাবল বা ফ্লোট ) সংখ্যা নেয় এবং তার ন্যাচারাল লগারিদম (ডাবল ডাটাটাইপ) রিটার্ন করে ।  log() লাইব্রেরি ফাংশন ব্যবহার করার জন্যে math.h হেডার ফাইলটি প্রোগ্রামে যুক্ত করতে হবে ।  এই জন্য নিচের লাইনটি প্রোগ্রামের শুরুতে লিখতে হবে ।

#include <math.h>
এখন  প্রোগ্রামের বাকি অংশ  দেখব ।  প্রোগ্রামে  দুইটি ডাবল টাইপের ভ্যারিয়েবল number, natLogNum তৈরি করা হয়েছে  । প্রথমে প্রোগ্রামটি রান করার পরে একটি সংখ্যা ইনপুট চাইবে । ইনপুট হিসেবে যে সংখ্যাটি দেয়া হবে তা number ভ্যারিয়েবলে জমা হবে । number এর ন্যাচারাল লগারিদম বের করার জন্যে নিচের লাইনটি লেখা হয়েছে ।

  natLogNum = log(number);
log() ফাংশনে প্যারামিটার হিসেবে number ভ্যারিয়েবল দেওয়ায় ফাংশনটি number ভেরিয়েবলের মান যত হবে তার ন্যাচারাল লগারিদম রিটার্ন করবে এবং তা natLogNum ভেরিয়েবলে অ্যাসাইন হবে । তারপরের লাইনে number ভ্যারিয়েবল ও তার ন্যাচারাল লগারিদমের মান প্রিন্ট করা হয়েছে ।
সম্পূর্ণ প্রোগ্রাম :

#include <stdio.h>
#include <math.h>

int main()
{
    double number;
    double natLogNum;
    printf("Enter a number: \n");
    scanf("%lf",&number);
    natLogNum = log(number);
    printf("Natural log of %lf = %lf\n",number,natLogNum);

    return 0;


}

এখন প্রোগ্রামটি চালিয়ে দেখব ।
ন্যাচারাল লগারিদম বের করার প্রোগ্রাম





ইনপুট হিসেবে 25 সংখ্যা দেয়ার পরে 25 এর ন্যাচারাল  লগারিদম 3.218876 প্রিন্ট হয়েছে ।

Timus Online Judge 1083. Factorials!!! Solution

1083. Factorials!!!
Language:c++
Solution:


#include <iostream>

using namespace std;

int main()
{

    int n,k;
    int result = 1;
    string line;
    cin>>n>>line;
    k = line.length();



    for(int i = n; i>0; i = i-k)
    {
        result*=i;
    }

    cout<<result<<endl;



}

Timus Online Judge 1068. Sum Solution

1068. Sum
Language: c++



#include <iostream>

using namespace std;

int main()
{
    int N,sum;
    cin>>N;

    if(N>0)
          sum = N*(N+1)/2;

    else
        sum = (N*(N-1)/2-1)*-1;
    cout<<sum<<endl;


}


বৃহস্পতিবার, ১৮ ফেব্রুয়ারী, ২০১৬

Timus Online Judge 1409. Two Gangsters Solution

1409. Two Gangsters
Language: c++
Solution:


#include <iostream>

using namespace std;

int main(){

    int a,b;
    cin>>a>>b;
    int totalCan = a+b-1;
    cout<<(totalCan-a)<<" "<<(totalCan-b)<<endl;
}

Timus Online Judge 1293. Eniya Solution

1293. Eniya
Language: c++
Solution:


#include <iostream>

using namespace std;

int main(){
    int n,a,b;
    cin>>n>>a>>b;
    cout<<n*a*b*2<<endl;

}

Timus Online Judge 1264. Workdays Solution

1264. Workdays
Language: c++
Solution:



#include <iostream>

using namespace std;

int main(){
    int n,m;
    cin>>n>>m;
    cout<<n*(m+1)<<endl;


}


Timus Online Judge 1000. A+B Problem Solution

1000. A+B Problem
Language: c++




#include <iostream>

using namespace std;

int main(){

    int a,b;
    cin>>a>>b;
    cout<<a+b;
}

সোমবার, ৮ ফেব্রুয়ারী, ২০১৬

URI Online Judge | 1273 Justifier Solution

URI Online Judge | 1273 Justifier
Language: C++
Solution:



#include <string>
#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
using namespace std;

int main()
{
    int N,length,mark = 0;
    vector<string> words;
    string word;
    while(cin>>N&&N)
    {
        length = 0;

        for(int i = 0 ; i<N; i++)
        {
            cin>>word;
            if(word.length()>length)
                length = word.length();
            words.push_back(word);
        }
        if(mark!=0)
            cout<<endl;
        else
            mark = 1;
        for(int i = 0; i<N; i++)
        {
            cout<<right<<setw(length)<<words.at(i)<<endl;
        }

        words.clear();

    }





}

URI Online Judge | 1318 Fake Tickets Solution

URI Online Judge | 1318 Fake Tickets
Language:C++
Solution:



#include <iostream>
#include <cstdio>
#include <map>
using namespace std;

int main()
{


    int N,M,num,fakeCount;

    while(cin>>N>>M)
    {
        fakeCount = 0;
        map<int,int> tickets;
        fakeCount = 0;
        if(N==0&&M==0)
            break;


        for(int i = 0; i<M; i++)
        {
          cin>>num;
            tickets[num]++;
          }

    map<int,int>::iterator i;
    for( i = tickets.begin();i!=tickets.end();i++){
          if(i->second>1)
          fakeCount++;


    }
    cout<<fakeCount<<endl;


    }



}

URI Online Judge | 1281 Going to the Market Solution



#include <iostream>
#include <map>
#include <iomanip>

using namespace std;

int main()
{

    int n,m,p,prodCount;
    string prod;
    double price,totalPrice;
    map<string,double> products;
    cin>>n;
    while(n-->0)
    {
        totalPrice = 0;
        cin>>m;
        for(int i = 0; i<m; i++)
        {
            cin>>prod>>price;
            products[prod] = price;



        }
        cin>>p;
        for(int i = 0; i<p; i++)
        {
            cin>>prod>>prodCount;
            totalPrice += products[prod]*prodCount;


        }
        cout<<fixed<<setprecision(2)<<"R$ "<<totalPrice<<endl;

        products.clear();
    }

}


URI Online Judge | 1533 Detective Watson Solution



#include <iostream>
#include <climits>
#include <vector>
#include <algorithm>
using namespace std;

struct number
{
    int pos;
    int num;
};
bool compare(number a,number b)
{
    return a.num>b.num;
}

int main()
{

    int n;
    vector<number> suspectLevel;
    while(cin>>n&&n)
    {

        number N;
        for(int i = 0; i<n; i++)
        {
            cin>>N.num;
            N.pos = i;

            suspectLevel.push_back(N);
        }

        sort(suspectLevel.begin(),suspectLevel.end(),compare);
        N = suspectLevel.at(1);
        cout<<N.pos+1<<endl;
        suspectLevel.clear();

    }

}


URI Online Judge | 1471 Dangerous Dive Solution



#include <iostream>
using namespace std;

int main()
{


    int n,r,person,flag;
    while(cin>>n>>r)
    {
        flag = 0;

        int track[n+1];
        for(int i = 1; i<n+1; i++)
        {
            track[i] = 0;
        }
        for(int i = 0; i<r; i++)
        {
            cin>>person;
            track[person] = 1;
        }

        for(int i = 1; i<n+1; i++)
        {
            if(track[i]==0)
            {
                cout<<i<<" ";
                flag=1;


            }
        }
        if(flag==0)
            cout<<'*';
        cout<<endl;
    }

    return 0;
}

সোমবার, ১ ফেব্রুয়ারী, ২০১৬

Jan’s LightOJ :: 1249 - Chocolate Thief Solution

1249 - Chocolate Thief
Solution in c++:



#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct student
{
string name;
int volume;
};

bool compare(student a,student b)
{
return a.volume<b.volume;

}
int main()
{

int t,n,height,width,depth;
string name;
cin>>t;
student st,stThief,stLost;
for(int i = 0; i < t; i++)
{
vector<student> Students;
cin>>n;
for(int i = 0; i<n; i++)
{
cin>>name>>height>>width>>depth;
st.name = name;
st.volume = height*width*depth;
Students.push_back(st);
}
sort(Students.begin(),Students.end(),compare);
cout<<"Case "<<i+1<<": ";
stLost = Students[0];
stThief = Students[n-1];
if(stThief.volume==stLost.volume)
cout<<"no thief"<<endl;
else
cout<<stThief.name<<" took chocolate from "<<stLost.name<<endl;

}

}


Jan’s LightOJ :: 1189 - Sum of Factorials Solution

Language: C++

#include <iostream>

using namespace std;
long long int Fact[25],ans[25];

long long int Factorial(int n)
{
int i;
long long int result = 1;
for(i = 1; i<=n; i++)
{

result*=i;

}
return result;

}

int main()
{
int n,countNumber ;
long long int m;
for(int i =0 ; i<20; i++)
{
Fact[i] = Factorial(i);
}

cin>>n;
for(int i = 0; i<n; i++)
{
countNumber = 0;

cin>>m;

for(int j = 19; j>=0&&m>0; j--)
{
if(Fact[j]<=m)
{

m-=Fact[j];
ans[countNumber] = j;
countNumber++;

}
}
cout<<"Case "<<i+1<<": ";
if(m!=0)
cout<<"impossible"<<endl;
else
{
cout<<ans[countNumber-1];
for(int k = countNumber-2; k>=0; k--)
cout<<"!+"<<ans[k];
cout<<"!"<<endl;


}

}



return 0;
}