Uva 10071 : Back to High School Physics

Problem Link

আমি এই সমস্যার সমাধান প্রায় ৬/৭ বার সাবমিট করার পর বার শুধু   Compailation error দেখাচ্ছিল,কিছুই বুজতে পারলাম না আমি কোথায় ভুল করছি। পরে বুজতে পারলাম আমার কোডের শেষে // end while এই কমেন্ট ছিল। 
যাই হোক, পরে comment ছাড়া সাবমিট করলাম একবারেই Accepted হল :D ।





Uva 10055 : Hashmat the brave warrior


Problem A
Hashmat the brave warrior
Input: standard input

Output: standard output


Hashmat is a brave warrior who with his group of young soldiers moves from one place to another to fight against his opponents. Before fighting he just calculates one thing, the difference between his soldier number and the opponent's soldier number. From this difference he decides whether to fight or not. Hashmat's soldier number is never greater than his opponent.


Input
The input contains two integer numbers in every line. These two numbers in each line denotes the number of soldiers in Hashmat's army and his opponent's army or vice versa. The input numbers are not greater than 2^32. Input is terminated by End of File.

Output
 For each line of input, print the difference of number of soldiers between Hashmat's army and his opponent's army. Each output should be in seperate line.

Sample Input:
10 12
10 14
100 200

Sample Output:
2
4
100
___________________________________________________________________________________ 
Shahriar Manzoor
16-12-2000


problem link






কোন কারনে আমার answer টা নিচ্ছিল না, বার চেষ্টা করার পর answer সাবমিট হইছে, পরে বুঝতে পারলাম কেন এরকম হল। 

int long long নিতে হবে তা না হলে value overflow হয়ে যাবে। দ্বিতীয়ত, ইনপুট কোনটা আগে দিবে হাশমত নাকি শত্রুপক্ষের এইটা দেওয়া নাই, একে কন্ট্রোল করতে হবে। End of file Termination করতে হবে। 
আমার যে সমস্যা হইছিল আমি  এই condition   (The input numbers are not greater than 2^32) কে কন্ট্রোল করার জন্য 

if(os>=hs && hs<=n && os<=n)
এরকম একটা condition দিছিলাম কিন্তু সেটার আসলে কোন প্রয়োজন নাই, কারন int long long নিলে অটোমেটিক এটা Terminate হয়ে যাবে।

n=pow(2,32);






প্রোজেক্ট ইউলার সমস্যা ০৯ (Pythagorean Triples)

প্রবলেমঃ A Pythagorean triplet is a set of three natural numbers, a < b < c, for which,
a2 + b2 = c2
For example, 32 + 42 = 9 + 16 = 25 = 52.
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc.


সমাধানঃ সমস্যাটি সমাধান করার আগে, Pythagorean Triples নিয়ে বিস্তারিত এই লেখাটি পড়ে নিতে পারেন 





Projecteuler.net সাইটে আপনার সমাধান সঠিক হলে আপনি সমাধানের একটি উপর বিস্তারিত অ্যালগরিদম সহ একটি pdf file পাবেন যেখানে সমস্যা সমাধানের জন্য কি থিওরি ব্যাবহার করতে হবে সব বিস্তারিত ব্যাখ্যা করা আছে। তবে সমাধান না করা পর্যন্ত আপনি pdf file টি পাবেন না। নিচে ফাইলটির ডাউনলোড লিংক দেওয়া আছে ডাউনলোড করে নিতে পারেন


পিথাগোরাসের ত্রিপদ (Pythagorean Triples)


•Pythagorean Triples  এর সংজ্ঞা এভাবে দেয়া যায়A Pythagorean Triples is a set of positive integer where  a, b  and  c that fits the rule a²+b²=c².

Peojecteuler.net  এর একটি প্রবলেম সল্ভ করতে গিয়ে Pythagorean Triples এর একটি প্রবলেম পাই, সেটা নিয়ে মাথা ঘামাতে গিয়ে কয়েকটি বিষয় জানতে পারলাম। চেষ্টা করব বিষয় গুলো বিস্তারিত বলার।

প্রথমেই পিথাগোরাসের সুত্র,
            a²+b² =c²  (যেখানে a<b<c)   কখনই a=b=c  হলে পিথাগোরাসের ত্রিভুজ হবে না।

সবচেয়ে ছোট Pythagorean Triples হচ্ছ 3²+4²=5²   (3<4<5)

“Pythagorean Triples  অসীম” 

•যেকোনো সংখ্যা n (n>1) তাহলে 3n, 4n and 5n  একটি Pythagorean Triples কারন
(3n)²+(4n)²=(5n)²  সত্য, যেখানে n={ integer  নাম্বারের সেট} ,
তার মানে n যখন অসীম তখন Pythagorean Triples অসীম।

Pythagorean Triples এর কয়েকটি বৈশিষ্ট্য সব সময় থাকবে,

. Pythagorean Triples এর সবগুলো সংখ্যা জোড় হবে।
. দুটি সংখ্যা বিজোড় একটি জোড় সংখ্যা হবে।

Pythagorean Triples কখনই সবগুলো সংখ্যা বিজোড় বা দুটি জোড় একটি বিজোড় সংখ্যা হবে না, কারন:

# বিজোড় সংখ্যার বর্গ সবসময় বিজোড় এবং জোড় সংখ্যার বর্গ সবসময় জোড় সংখ্যা হবে।
# দুটি জোড় সংখ্যার যোগফল সন্সময় সবসময় জোড় সংখ্যা এবং দুটি বিজোড় সংখ্যার যোগফল বিজোড় সংখ্যা হবে।

            6²+8²=12²     Pythagorean Triplet  নয় কারন ১১৭=১৪৪ (মিথ্যা)

Pythagorean Triples এর a, b, c এর মান বের করার একটি algorithm আছেঃ

যখন m এবং n দুটি ধনাত্মক পূর্ণ সংখ্যা (m<n)

a=n²-m²
b=2.n.m
c=n²+m²

m=7  এবং n=8 ধরা যাক

a=8²-7²=15
b=2.8.7=112
c=8²+7²=113

•a²+b²=c²
15²+112²=113²    • 12769=12769  (True)

তাহলে দেখা যাচ্ছে n এবং m এর যেকোনো মানের জন্য একটি Pythagorean Triples পাওয়া যাবে এবং তা সবসময় সত্য হবে।


এই পোস্টটি একটি ওয়ার্ম-আপ projecteuler.net এর নাম্বার সমস্যাটি সমাধান করার জন্য।


প্রোজেক্ট ইউলার সমস্যা ০৯ (Pythagorean Triples)