http://www.lightoj.com/volume_showproblem.php?problem=1214
খুব সহজ একটি , প্রোবলেম .\ কিছুটা https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=3001
এই প্রোবলেম এর মতো
তোমাকে দুইটা নাম্বার a&b দেয়া থাকবে । বলতে হবে ,a সংখ্যাটি ,b দ্বারা বিভাজ্য কি ণা ??
এখন যেহেতু ,a অনেক বড় সংখ্যা - তাই ,এটা string আকারে নিতে হবে | এখানে , মনে রাখবা -a
কিন্তু নেগেটিভ সংখ্যা'ও হতে পারে । তাই , a যদি নেগেটিভ সংখ্যা'ও হয়-তাহলে , string এর লুপ ঘুরানোর সময় - string এর প্রথম s[0] ignore করে , s[1] থেকে আমাদের লুপ ঘুরিয়ে কাজ করতে হবে ।
কোড এর ভেতরে , আমরা - j দিয়ে এই কাজ করেছি । আর বেশী ব্যাখ্যা দিবো না ,কারণ । যে প্রক্রিয়াতে ,
কাজ করেছি সেটা নিয়ে এর আগে , এখানে http://nayeemmollickjoy.blogspot.com/2017/07/11879-multiple-of-17-uva-solution-logic.html
আলোচনা করেছি , কিভাবে ? বড় সংখ্যা, কোনো ছোট সংখ্যা দিয়ে বিভাজ্য কি না ? সেটা কিভাবে , চেক করতে হয় ,চাইলে দেখে নিতে পারো ।
এবারে কোড দেখে নাও , রিফ্রেশ হও
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
#include<cstring>
#include<cmath>
//Nayeem Mollick Joy ,Applied Physics And Electronic Engineering,University Of Rajshahi.
using namespace std;
int main()
{
int T,rem;
cin>>T;
string s;
long long int b,n,k,j;
for(int i=1;i<=T;i++)
{
cin>>s>>b;
int l=s.size();
if(s[0]=='-')
{
j=1;
}
else
{
j=0;
}
if(b<0)
{
b=b*(-1);
}
n=0;
int count=0;
for(k=j;k<l;k++)
{
n=(s[k]-'0')+n*10;
n=n%b;
}
if(n)
{
printf("Case %d: not divisible\n",i);
}
else
printf("Case %d: divisible\n",i);
}
return 0;
}
খুব সহজ একটি , প্রোবলেম .\ কিছুটা https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=3001
এই প্রোবলেম এর মতো
তোমাকে দুইটা নাম্বার a&b দেয়া থাকবে । বলতে হবে ,a সংখ্যাটি ,b দ্বারা বিভাজ্য কি ণা ??
এখন যেহেতু ,a অনেক বড় সংখ্যা - তাই ,এটা string আকারে নিতে হবে | এখানে , মনে রাখবা -a
কিন্তু নেগেটিভ সংখ্যা'ও হতে পারে । তাই , a যদি নেগেটিভ সংখ্যা'ও হয়-তাহলে , string এর লুপ ঘুরানোর সময় - string এর প্রথম s[0] ignore করে , s[1] থেকে আমাদের লুপ ঘুরিয়ে কাজ করতে হবে ।
কোড এর ভেতরে , আমরা - j দিয়ে এই কাজ করেছি । আর বেশী ব্যাখ্যা দিবো না ,কারণ । যে প্রক্রিয়াতে ,
কাজ করেছি সেটা নিয়ে এর আগে , এখানে http://nayeemmollickjoy.blogspot.com/2017/07/11879-multiple-of-17-uva-solution-logic.html
আলোচনা করেছি , কিভাবে ? বড় সংখ্যা, কোনো ছোট সংখ্যা দিয়ে বিভাজ্য কি না ? সেটা কিভাবে , চেক করতে হয় ,চাইলে দেখে নিতে পারো ।
এবারে কোড দেখে নাও , রিফ্রেশ হও
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
#include<cstring>
#include<cmath>
//Nayeem Mollick Joy ,Applied Physics And Electronic Engineering,University Of Rajshahi.
using namespace std;
int main()
{
int T,rem;
cin>>T;
string s;
long long int b,n,k,j;
for(int i=1;i<=T;i++)
{
cin>>s>>b;
int l=s.size();
if(s[0]=='-')
{
j=1;
}
else
{
j=0;
}
if(b<0)
{
b=b*(-1);
}
n=0;
int count=0;
for(k=j;k<l;k++)
{
n=(s[k]-'0')+n*10;
n=n%b;
}
if(n)
{
printf("Case %d: not divisible\n",i);
}
else
printf("Case %d: divisible\n",i);
}
return 0;
}
Excellent explanation!!!!!Thank u....
ReplyDelete