https://www.devskill.com/CodingProblems/ViewProblem/216
একটা করে সংখ্যা দেয়া থাকবে , কিন্তু সমস্যা হলো প্রত্যেকটা সংখ্যা'র মাঝে একটা করে character
থাকে , যেই character এর জায়গায় সবচেয়ে কম ,এমন একটা Digit বসাতে হবে যেনো , গোটা সংখ্যা'টাই ৩ দিয়ে বিভাজ্য হয় ..
এখন আমরা ছোটবেলা থেকেই জানি , একটি সংখ্যা ৩ দিয়ে বিভাজ্য হবে কিনা ,সেটা ডিপেন্ড করবে ,সেই সংখ্যাগুলি'র ডিজিট গুলির যোগফল ৩ দিয়ে বিভাজ্য হয় কি না //
তাহলে আমরা ইনপুট নেবো , স্ট্রিং আকারে - যেহেতু সংখ্যা এর মাঝে একটা character থাকবেই ..
এখন ডিজিটগুলো যোগ করে , যোগফল কে ৩ দিয়ে ভাগ করে দেখবো ভাগশেষ কতো হয় ??
ধরো , ইনপুট এ দেয়া আছে 12345T67 , মানে- ডিজিটগুলি'র যোগফল ২৮ | এখন নিজেই চিন্তা করো তো , T এর জায়গায় কতো বসালে ? সেটা ৩ দিয়ে বিভাজ্য হবে ?? তাহলে ,২ বসালে মোট যোগফল হবে ৩০ .কিভাবে পেলাম ?? ২৮ কে ৩ দিয়ে ভাগ দিয়ে দেখলাম ভাগশেষ ১ \ এর মানে , (৩-১) ২৮ এর সাথে যোগ করলেই ,সেটা ৩ দিয়ে বিভাজ্য হবে ..
কোড'টা দেখলেই বোঝা যাবে
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
int t,k;
string s;
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>s;
int sum=0;
for(int k=0;k<s.size();k++)
{
if(s[k]>='0'&&s[k]<='9'){
sum=sum+(s[k]-'0');
}
}
int g=(sum%3);
cout<<"Case "<<i<<": "<<3-g<<endl;
}
return 0;
}
একটা করে সংখ্যা দেয়া থাকবে , কিন্তু সমস্যা হলো প্রত্যেকটা সংখ্যা'র মাঝে একটা করে character
থাকে , যেই character এর জায়গায় সবচেয়ে কম ,এমন একটা Digit বসাতে হবে যেনো , গোটা সংখ্যা'টাই ৩ দিয়ে বিভাজ্য হয় ..
এখন আমরা ছোটবেলা থেকেই জানি , একটি সংখ্যা ৩ দিয়ে বিভাজ্য হবে কিনা ,সেটা ডিপেন্ড করবে ,সেই সংখ্যাগুলি'র ডিজিট গুলির যোগফল ৩ দিয়ে বিভাজ্য হয় কি না //
তাহলে আমরা ইনপুট নেবো , স্ট্রিং আকারে - যেহেতু সংখ্যা এর মাঝে একটা character থাকবেই ..
এখন ডিজিটগুলো যোগ করে , যোগফল কে ৩ দিয়ে ভাগ করে দেখবো ভাগশেষ কতো হয় ??
ধরো , ইনপুট এ দেয়া আছে 12345T67 , মানে- ডিজিটগুলি'র যোগফল ২৮ | এখন নিজেই চিন্তা করো তো , T এর জায়গায় কতো বসালে ? সেটা ৩ দিয়ে বিভাজ্য হবে ?? তাহলে ,২ বসালে মোট যোগফল হবে ৩০ .কিভাবে পেলাম ?? ২৮ কে ৩ দিয়ে ভাগ দিয়ে দেখলাম ভাগশেষ ১ \ এর মানে , (৩-১) ২৮ এর সাথে যোগ করলেই ,সেটা ৩ দিয়ে বিভাজ্য হবে ..
কোড'টা দেখলেই বোঝা যাবে
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
int t,k;
string s;
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>s;
int sum=0;
for(int k=0;k<s.size();k++)
{
if(s[k]>='0'&&s[k]<='9'){
sum=sum+(s[k]-'0');
}
}
int g=(sum%3);
cout<<"Case "<<i<<": "<<3-g<<endl;
}
return 0;
}
No comments:
Post a Comment