https://www.devskill.com/CodingProblems/ViewProblem/74
খুবই সহজ একটা প্রোবলেম , ১ থেকে ১ করে বাড়তে থাকবে , কিন্তু - প্রতি লাইনে , মাত্র ৩ টি করে সংখ্যা থাকবে , নীচে ধারাটি দেখালাম
খুবই সহজ একটা প্রোবলেম , ১ থেকে ১ করে বাড়তে থাকবে , কিন্তু - প্রতি লাইনে , মাত্র ৩ টি করে সংখ্যা থাকবে , নীচে ধারাটি দেখালাম
1 2 3
6 5 4
7 8 9
12 11 10
13 14 15
and so on...
এখানে তোমায় N এর মান , দেয়া থাকবে - তোমায় তত তম লাইনের ৩ টা মান প্রিন্ট করতে হবে ।
কি মনে হচ্ছে ?? লুপ খাটালেই তো হয় , তাই না ?? আসলে কি , লুপ খাটানো কি খুব জরুরী ??
উত্তর হবে - না । কারণ , কততম লাইনের মান , বের করবা ?? তত তম লাইনকে , ৩ দিয়ে গুণ দিলেই
সেই লাইনের বড় মান'টি পেয়ে যাবা - তারপর সেখান থেকে , ১ কমিয়ে ২ কমিয়ে মান দুইটি প্রিন্ট করবা ।
বিজোড় নাম্বার লাইন হলে , ছোট মান'টি আগে - তারপর আসতে আসতে বড় মান ও জোড় নাম্বার লাইন হলে,
বড়ো মান'টি আগে , তারপর ১ করে কমাতে কমাতে ছোট মান ।
যেমন, N = 4 দেয়া আছে , তাহলে - মানগুলি হলো , (3*4)12 (3*4 -1)11 (3*4 - 2)10
খুবই সহজ , তাই না ?? চলো , কোড দেখি -----
#include<iostream>
// Nayeem Mollick Joy,Applied Physics &Electronic Engineering,University of Rajshahi.
using namespace std;
void pattern(unsigned long long int N)
{
if(N%2==0)
{
N=N*3;
cout<<" "<<N<<" "<<N-1<<" "<<N-2<<endl;
}
else
{
N=N*3;
cout<<" "<<N-2<<" "<<N-1<<" "<<N<<endl;
}
}
int main()
{
int t;
cin>>t;
unsigned long long int N;
for(int i=1;i<=t;i++)
{
cin>>N;
cout<<"Case #"<<i<<":";
pattern(N);
}
return 0;
}
No comments:
Post a Comment