Dev skill Problem DCP-1: Big Sum Solution
Problem Link
Dev skill Problem DCP-1: Big Sum Solution
প্রব্লেম টা খুব সহজ । ইনপুট ভালু কে উল্টিয়ে যুগ করতে হবে , তারপর যুগফল কে আবার উল্টাতে হবে ।
উদাহারন - ইনপুট (১) ৯০০,৯০০ ।
৯০০ কে উল্টালে হয় ০০৯ । তাই তাদের যুগফল হবে ০০৯+০০৯=০১৮। এখন এই যুগফল্ কে উল্টালে হবে ৮১০ ।
তাই আমাদের উত্তর হবে ৮১০ ।
কিন্তু আমরা যদি এইটা কোডে করতে চাই তাহলে ,আমাদের ইনপুট গুলো নিতে হিবে স্ট্রিং এ । কারন ইনপুটের ডিজিট ১০০ টা পর্যন্ত হতে পারে । যদি ১০০ টা ডিজিট আমরা unsigned long long এ নেই তাও হবে না । তাই আমরা স্ট্রিং এ ইনপুট নিব ।
Solution:
Dev skill Problem DCP-1: Big Sum Solution
প্রব্লেম টা খুব সহজ । ইনপুট ভালু কে উল্টিয়ে যুগ করতে হবে , তারপর যুগফল কে আবার উল্টাতে হবে ।
উদাহারন - ইনপুট (১) ৯০০,৯০০ ।
৯০০ কে উল্টালে হয় ০০৯ । তাই তাদের যুগফল হবে ০০৯+০০৯=০১৮। এখন এই যুগফল্ কে উল্টালে হবে ৮১০ ।
তাই আমাদের উত্তর হবে ৮১০ ।
কিন্তু আমরা যদি এইটা কোডে করতে চাই তাহলে ,আমাদের ইনপুট গুলো নিতে হিবে স্ট্রিং এ । কারন ইনপুটের ডিজিট ১০০ টা পর্যন্ত হতে পারে । যদি ১০০ টা ডিজিট আমরা unsigned long long এ নেই তাও হবে না । তাই আমরা স্ট্রিং এ ইনপুট নিব ।
Solution:
#include<bits/stdc++.h> using namespace std; int main() { string s; while(cin>>s) { char s1[110],s2[110]; int i,f=0,x=0,y=0,temp,c=0; for(i=0; i<s.size() ; i++) { if(s[i]==',') f=1; else if(f==0) //কপি s to s1 যতক্ষণ পর্যন্ত কমা না পাবে { s1[x++]=s[i]; } else //কপি s to s2 কমা এর পরের অংশ s2[y++]=s[i]; } f=0; if(x>=y) // এক্স বড় কিংবা সমান হলে ডুকবে { for(i=0; i<y; i++) { temp=(int)(s1[i]-'0') + (int)(s2[i]-'0')+c //s1 ও s2 এর যুগফল ইনটিজার এ কনভার্ট করছি । // char to int করার নিয়ম দেখতে এখানে ক্লিক করুন if(temp==10) { if(f==1) cout<<'0'; c=1; } else if(temp>10) { cout<<temp%10; c=1; f=1; } else { cout<<temp; f=1; c=0; } } for(i=y; i<x; i++) //এক্স এর পরের অংশ { temp=(int)(s1[i]-'0')+c; if(temp==10) { if(f==1) cout<<'0'; c=1; } else if(temp>10) { cout<<temp%10; c=1; f=1; } else { cout<<temp; f=1; c=0; } } } else //একি কাজ করা হইছে , শুধু x এর স্থলে y বসানো হইছে { for(i=0; i<x; i++) { temp=(int)(s1[i]-'0') + (int)(s2[i]-'0')+c; if(temp==10) { if(f==1) cout<<'0'; c=1; } else if(temp>10) { cout<<temp%10; c=1; f=1; } else { cout<<temp; f=1; c=0; } } for(i=x; i<y; i++) { temp=(int)(s2[i]-'0')+c; if(temp==10) { if(f==1) cout<<'0'; c=1; } else if(temp>10) { cout<<temp%10; c=1; f=1; } else { cout<<temp; f=1; c=0; } } } if(c==1) cout<<'1'<<endl; else cout<<endl; } return 0; }
No comments