UIU: Project Euler Guideline


প্রজেক্ট অয়লারের প্রথম ২৫ টা প্রবলেম সবারই সলভ করা উচিত। ৫০ টা হলে বেশ ভাল, ৭৫ টা হলে অতি ভাল, আর ১০০+ হলে সিরাম

সবচেয়ে ভালো হয় যদি এই পোস্ট না পড়ে প্রবলেমগুলা সলভ করতে পারেন। যদি একেবারে বেকায়দা হয় তখন এই পোষ্ট দেখতে পারেন। নিজে নিজে চিন্তা করে বুদ্ধি বের করাটাই সবচেয়ে ভাল। তাতে সময় একটু বেশি লাগবে এবং পরিশ্রমও বেশি তবে সেটাই উত্তম। ব্যপারটা অনেকটা এমন মনে করেন, আপনাকে সাহায্য করার কেউ নাই এবং আপনাকে প্রবলেম সলভ করতেই হবে, তার মানে আপনাকে একলাই করতে হবে।

আমি জানি, প্রথম সেমেস্টার শেষ করা একজন স্টুডেন্ট যতটুকু জানে, সেই হিসেবে কাজটা কঠিন বটে
কিন্তু তারপরও আমি বলব আপনি নিজে নিজে চেষ্টা করেন, সাহায্য ছাড়া শেখার চেষ্টা করতে থাকেন
তাতে করে যদি আপনার একটা প্রবলেম সলভ করতে ১ সপ্তাহও লাগে, সেটাও অনেক ভালো হবে
অনেক চিন্তা এবং চেষ্টার পরেও যদি কোন কিছু বুঝতে না পারেন তখন এই পোস্টটা দেখবেন

এই পোস্টে আমি কোনো কোড করি নাই .. সল্যুশন করার কোনো পদ্ধতি বলা হয় নাই
শুধু প্রবলেমটায় কি করতে হবে সেটা বলা আছে .. আর হয়ত কিছু ছোট হিন্টস পাবেন
এর থেকে বেশি হেল্প আসলে দরকার নাই, এর পরের কাজটুকু আপনি করবেন, যতই সময় লাগুক

প্রতিটা প্রবলেমের জন্য একটা আলাদা করে পোস্ট দেয়া আছে .. সেখানে প্রবলেমটার কোড করে দেয়া আছে
ট্রিকস নিয়ে আলোচনা করা আছে, এবং আরো অন্যভাবে প্রবলেমটা সলভ করা যায় কিনা সেটা বলা আছে
আমি ছাড়াও সেখানে আপনাদের বড় ভাই/আপুদের কমেন্ট, সাজেশন পাবেন, তারা কিভাবে সলভ করেছে
তবে সেই পোস্টগুলা পাসওয়ার্ড প্রোটেক্টেড, পোস্টে ঢুকার জন্য ওই প্রবলেমের উত্তরটাই পাসওয়ার্ড 😀
কাজেই প্রবলেমটা নিজে সলভ করার আগে আপনি পোস্টে ঢুকতে পারবেন না .. এটা একরকম কৌশল
তবে অবশ্যই এতে ফাঁক আছে .. যেমন বন্ধুর কাছ থেকে উত্তর জেনে পোস্টে ঢুকে যেতে পারেন
এই ব্যপারে আমরা কিছু বলব না .. এটা সম্পূর্ণই আপনার ব্যক্তিগত বিবেচনার উপর নির্ভর করে
আপনি এখন যথেষ্টই বড়, প্রতিটা জিনিস আপনাকে বলে দিতে হবে এমনটা নিশ্চয়ই আশা করেন না 🙂

প্রবলেম খুজতে স্ক্রল করে নিচে যেতে হবে না
url-এর পরে একটা হ্যাশ (#) এবং তারপর প্রবলেম নাম্বার লিখে Enter দেন
যেমন: https://tausiq.wordpress.com/2013/06/10/uiu-project-euler-guideline/#2

Problem 1

3 বা 5-এর যতগুলা গুণীতক আছে, যারা 1000 থেকে ছোট তাদের যোগফল বের করতে হবে।
গুণীতক মানে বুঝেন তো? ওই গুণীতক আর কি
যেমন, 9 এর গুণীতক হল: 9, 18, 27, 36, 45, 54 .. এইগুলা
9-এর গুণীতকগুলা অবশ্যই 3 এর গুণীতক। কারন, 9 নিজে হল 3 এর গুণীতক
9 হল 3 এর গুণীতক কারন, 9 কে 3 দিয়ে নিঃশেষে ভাগ করা যায়।

Problem 2

১ম ফিবোনাচ্চি নাম্বার ধরে নিলাম, 1
২য় ফিবোনাচ্চি নাম্বার ধরে নিলাম, 2
তাহলে ৩য় ফিবোনাচ্চি নাম্বার হবে = ১ম ফিবোনাচ্চি নাম্বার + ২য় ফিবোনাচ্চি নাম্বার
বা, ৩য় ফিবোনাচ্চি নাম্বার হবে = 1 + 2 = 3
৪র্থ ফিবোনাচ্চি নাম্বার হবে = ২য় ফিবোনাচ্চি নাম্বার + ৩য় ফিবোনাচ্চি নাম্বার
বা, ৪র্থ ফিবোনাচ্চি নাম্বার হবে = 2 + 3 = 5
এইভাবে…

.. terms in the Fibonacci sequence whose values do not exceed four million ..

মানে হল, এমন ফিবোনাচ্চি নাম্বারগুলা নিতে হবে যাদের ভ্যালু ৪০ লক্ষ থেকে বেশি না।

find the sum of the even-valued terms

এবং ওই নাম্বারগুলা থেকে শুধুমাত্র জোড়গুলা নিতে হবে। এই জোড়গুলার যোগফল আউটপুট।

এই প্রবলেমটা সলভ করতে আমাদের যে ফিবোনাচ্চি নাম্বারগুলা লাগবে সেগুলা হল
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
.
.
.
3524578
5702887
4613732

Problem 3

প্রাইম মানে প্রাইম
আর ফ্যাক্টর মানে ফ্যাক্টর, মানে, গুণনীয়ক বা উৎপাদক।
যে সংখ্যাগুলা দিয়ে 96 কে নিঃশেষে ভাগ করা যায়, সেগুলা হল 96-এর উৎপাদক।
যেমন: 1, 2, 3, 4, 6, 8, 12, 16 24, 32, 48, 96
প্রাইম ফ্যাক্টর হল, এমন ফ্যাক্টর যেগুলা প্রাইম
যেমন: 5, 7, 13, 29 হল প্রাইম এবং এগুলা 13195 এর ফ্যাক্টর। কাজেই, 5, 7, 13, 29 হল 13195-এর প্রাইম ফ্যাক্টর।
600851475143 সবচেয়ে বড় প্রাইম ফ্যাক্টরটাই আউটপুট

Problem 4

প্যালিনড্রোম হল, যাকে উল্টা করলেও কাহিনি একই থাকে। মানে, উল্টা করলেও যা, সোজা থাকলেও তাই। যেমন: “MADAM”, এই শব্দটা উল্টা করলেও একই থাকে। ইংরেজিতে বিখ্যাত কিছু প্যালিনড্রোম আছে। যেমন; “Never odd or even”। স্পেসগুলা বাদ দিলে এটা একটা প্যালিনড্রোম। একইভাবে, নাম্বারও প্যালিনড্রোম হয়। যেমন: 23432, 654456 ইত্যাদি।

সংখ্যা এবং অঙ্ক এই দুইটা জিনিসের পার্থক্য বুঝতে হবে। যেমন:
১৯ = একটা সংখ্যা।
১৯ = দুই অংকের একটা সংখ্যা
একইভাবে, ৯ একটা সংখ্যা, আবার ৯ একটা অংকও হতে পারে। এটা আমরা সবাই বুঝি, Number and Digit

দুই অংকের সবচেয়ে ছোট সংখ্যা ১০ এবং দুই অংকের সবচেয়ে বড় সংখ্যা ৯৯
দুই অংকের যেকোন দুইটা সংখ্যার গুনফল, সর্বনিম্ন তিন অংকের একটা সংখ্যা হতে পারে এবং সর্বোচ্চ চার অংকের একটা সংখ্যা হতে পারে।

মজার ব্যপার হল, এই গুনফলটা প্যালিনড্রোম হতে পারে। যেমন ধরেন, ১১ x ১১ = ১২১, একটা প্যালিনড্রোম।
তো ঘটনা হইল,
১. আমরা দুই অংকের যেকোন দুইটা সংখ্যার যতগুলা গুনফল হতে পারে সব বের করলাম।
২. গুনফলগুলার মধ্যে যতগুলা প্যালিনড্রোম আছে সেগুলা আলাদা করলাম।
৩. এই আলাদা করা সংখ্যাগুলার মধ্যে সবচেয়ে বড় সংখ্যাটা হল ৯০০৯
৪. একইভাবে কাজটা তিন অংকের দুইটা সংখ্যার জন্য করতে হবে। এবং সবেচেয়ে বড় প্যালিনড্রোমটা আউটপুট দিতে হবে।

ওহ খোদা! আমি প্যাচাইতেও পারি অনেক। দুই লাইনের একটা ছোট প্রবলেমের কয় লাইন বণর্না লিখলাম!!

Problem 5

৪ এবং ১০ দুইটা সংখ্যা নিয়ে উদাহরন দিই। ৪ * ১০ = ৪০
৪০ কে ৪ দিয়ে এবং ১০ দিয়ে নিঃশেষে ভাগ করা যায়।
কিন্তু দেখেন, ২০ কেও ৪ দিয়ে এবং ১০ দিয়ে নিঃশেষে ভাগ করা যায়। এবং ২০ হল ৪০ থেকে ছোট।
কিন্তু ২০ থেকে ছোট এমন কোন সংখ্যা পাওয়া যাবে না, যেটাকে ৪ এবং ১০ দিয়ে ভাগ করা যায়।
একইভাবে, ২৫২০ হল সবচেয়ে ছোট সংখ্যা যেটাকে ১ থেকে শুরু করে ১০ পর্যন্ত সবগুলা সংখ্যা দিয়ে ভাগ করা যায়।
সবচেয়ে ছোট সংখ্যা বের করতে হবে যেটাকে ১ থেকে শুরু করে ২০ পর্যন্ত সবগুলা সংখ্যা দিয়ে ভাগ করা যায়।

Problem 6

খুবই বাংলা প্রবলেম .. একটা উদাহরণ দেয়া আছে ১০ পর্যন্ত
একই কাজ ১০০ পর্যন্ত করে আউটপুট দিতে হবে
ভুল করে কোনো মিসটেক না করলেই হয়ে যাবে

Problem 7

দশ হাজার একতম প্রাইম আউটপুট দিতে হবে
প্রথম থেকে শুরু করে সামনে যেতে থাকেন যতক্ষণ ১০০০১-তম প্রাইম না পাওয়া যায়

Problem 8

একটা নাম্বার দেয়া আছে
সেই নাম্বারে অঙ্ক আছে ১০০০টা
মানে ১০০০ ডিজিটের একটা নাম্বার দেয়া আছে

এই নাম্বারের যেকোনো ৫টা পাশাপাশি ডিজিটের সবচেয়ে বড় গুনফল আউটপুট দিতে হবে

এখন কথা হলো, ইনপুট নিবেন কিভাবে?

পুরো নাম্বার কপি করে একটা ফাইলে পেস্ট করেন, তারপর ফাইল থেকে ইনপুট নেন
বা,
এইভাবেও কোডের ভিতরে কপি-পেস্ট করে নিতে পারেন

char input [5] [50 + 5] =
{{"73167176531330624919225119674426574742355349194934"},
{"96983520312774506326239578318016984801869478851843"},
{"85861560789112949495459501737958331952853208805511"},
{"12540698747158523863050715693290963295227443043557"}};

আমাদের ইনপুট নেয়া শেষ হলো; তারপরের কাজ হলো ৫টা ডিজিট বের করা
যেকোনো ৫টা পাশাপাশি ডিজিট আসলে এলোমেলোভাবে নিলে হবে না
আমাদের প্রথম থেকে শুরু করে সবগুলা পাশাপাশি ৫টা ডিজিটের গুনফল বের করতে হবে

যেমন,
এই নাম্বারের প্রথম ৫ টা ডিজিটের গুনফল কত?

7 * 3 * 1 * 6 * 7 = 882

তারপরের ৫টা ডিজিটের গুনফল কত?

1 * 7 * 6 * 5 * 3 = 630

উহু, হলো না

তারপরের ৫টা ডিজিটের গুনফল হবে আসলে

3 * 1 * 6 * 7 * 1 = 126

শুধুমাত্র প্রথম ডিজিটটা বাদ, তারপর থেকে ৫টা ডিজিট নিতে হবে
কারণ বলা আছে, যেকোনো ৫টা পাশাপাশি ডিজিট
31671 কিন্তু ৫টা পাশাপাশি ডিজিট

Problem 9

a, b, c তিনটা নাম্বারের গুনফল বের করতে হবে
যেন, a + b + c = 1000 হয়
এবং a * a + b * b = c * c হয়

Problem 10

২০ লক্ষের নিচে যত প্রাইম নাম্বার আছে তাদের যোগফল বের করতে হবে

N.B: UIU: Prime Number using Square_Root Algorithm

Problem 11

একটা গ্রীড দেয়া আছে, এটাকে ম্যাট্রিক্সও বলা যায়। এই গ্রীড থেকে পাশাপাশি যেকোন ৪ টা সংখ্যা নিতে হবে।
পাশাপাশি সংখ্যাগুলা উপর, নিচ, ডান, বাম বা কোনাকুনি হতে পারে। যেকোন ৪ টা সংখ্যা নেবার পর সবচেয়ে বড় গুনফলটাই আউটপুট।
ট্রিকস হল, কোনাকুনি কিন্তু দুই ধরনের হয় ডান এবং বাম। মানে, Left Diagonal and Right Diagonal .. like, X

Problem 12

Triangle Number খুব সহজ।

1st triangle number: 1
2nd triangle number: 1 + 2 = 3
3rd triangle number: 1 + 2 + 3 = 6
4th triangle number: 1 + 2 + 3 + 4 = 10
5th triangle number: 1 + 2 + 3 + 4 + 5 = 15

প্রথম কয়েকটা Triangle number এর গুনণীয়ক দেয়া আছে।
সেখান থেকে দেখা যায়, ২৮ হল প্রথম Triangle number যার গুননীয়ক ৫ টার বেশি
এখন, প্রথম Triangle number খুজে বের করতে হবে যার গুননীয়ক ৫০০ টার বেশি
একটা মজার ব্যপার হল, যদি বলা হয়, ৫টার বেশি গুননীয়ক আছে, তার মানে কিন্তু ৬টা গুনণীয়ক আছে এমনটা বলা যাবে না। আরও বেশি থাকতে পারে।

Problem 13

এইখানে ১০০টা সংখ্যা দেয়া আছে, এবং প্রতিটা সংখ্যা ৫০ ডিজিটের।
এই সংখ্যাগুলা যোগ করতে হবে; তারপর যোগফলের প্রথম ১০টা ডিজিট আউটপুট।
একেবারে বাংলা পদ্ধতিতে যোগ করতে হবে।
ধরেন, ৬৯৫৪৭৬ এবং ৮২৫৪৮৬ সংখ্যা দুইটা আমরা যোগ করতে চাই।
প্রথমে সংখ্যা দুইটাকে অ্যারেতে নিতে হবে। অ্যারেতে প্রতিটা এলিমেন্ট হবে একটা করে ডিজিট
তারপরে ছোটবেলায় আমরা যেভাবে যোগ করেছিলাম, ৬ + ৬ = ১২; ২ লিখলাম; হাতে থাকল ১; সেইভাবে করতে হবে

		6	9	5	4	7	6
		8	2	5	4	8	6
	1	5	2	0	9	6	2

N.B: Big-Integer Tutorial with C

Problem 14

একটা নাম্বার জোড় হলে সেটাকে ২ দিয়ে ভাগ করবেন। বেজোড় হলে ৩ দিয়ে গুন করে ১ যোগ।
নতুন যে নাম্বারটা আসবে সেটা জোড় হলে ২ দিয়ে ভাগ করবেন। বেজোড় হলে ..
এই কাহিনি করতে থাকলে একসময় আপনি ১ পাবেন।

এইভাবে ১৩ থেকে শুরু করে ১ পেতে গেলে আমরা ১০টা সংখ্যার একটা চেইন পাই।
এমন একটা নাম্বার খুজতে হবে যেটা দশ লক্ষ থেকে ছোট এবং সবচেয়ে বড় চেইন তৈরী করে।

এমন হতে পারে, একটা নাম্বার পেলেন যেটা দশ লক্ষ থেকে ছোট এবং সবচেয়ে বড় চেইন তৈরী করে। কিন্তু সেই চেইনের কোন একটা নাম্বার ১০ লক্ষ থেকে বড় তাহলে সেটা উত্তর হবে না।

Problem 15

ও খোদা!! এইটা কি??

Problem 16

প্রবলেম ১৩-এর মতই, বাংলা পদ্ধতিতে গুন করতে হবে। গুন করে প্রথমে 2^1000 বের করতে হবে। তারপর তো বুঝেনই

N.B: Big-Integer Tutorial with C

Problem 17

বেশ মজার প্রবলেম। এইখানে একটা প্যাটার্ন আছে, সেটা খুজে বের করতে হবে।
যেমন:
one
two
three
four
….

thirty one
thirty two
thirty three
….

ninety one
ninety two
ninety three
….

one hundred and thirty one
one hundred and thirty two
one hundred and thirty three
….

nine hundred and ninety one
nine hundred and ninety two
nine hundred and ninety three

Problem 18

ওয়াও! কত সুন্দর একটা পিরামিড 😀

Problem 19

পহেলা জানুয়ারী ১৯০১ হইতে ৩১ ডিসেম্বর ২০০০ পর্যন্ত কতগুলা মাসের প্রথমদিন রবিবার ছিল? (কস কি মমিন!! :O)

Problem 20

প্রবলেম ১৬-এর মতই

Problem 21

Proper divisor of A

মানে হল, যে সংখ্যাগুলো A থেকে ছোট এবং যেগুলো দিয়ে A-কে ভাগ করা যায়।
যেমন: 220-এর Proper divisor: 1, 2, 4, 5, 10, 11, 20, 22, 44, 55

A-এর Proper divisor গুলার যোগফল হল d(A)
যেমন: d(220) = 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 = 284

মজার ব্যপার হল, d(220) = d(284)
এই মজার ব্যপারটা যে নাম্বারগুলোর ক্ষেত্রে ঘটে সেগুলা Amicable number

10000-এর নিচে সবগুলা Amicable নাম্বারের যোগফল বের করতে হবে। কিছু Amicable number দেখা যাক।

220 284
... ...
2620 2924
... ...
6232 6368

Problem 22

কস কি মমিন!!
একটা বলে ফাইল আছে, তার মধ্যে নাকি ৫ হাজার নাম আছে!
নামগুলা সর্ট করতে হবে।

তারপর প্রতিটা নামের একটা করে মান (value) থাকবে। সবগুলা নামের ভ্যালুর যোগফলই উত্তর।

নামের ভ্যালু বের করা সহজ।
প্রতিটা নামের অ্যালফাবেটিক মান বের করবেন; তারপর নামের পজিশনের সাথে গুন করবেন।

Problem 23

একটা সংখ্যার গুনণীয়কগুলার যোগফল যদি সেই সংখ্যাটাই হয় তবে তাকে পারফেক্ট নাম্বার বলে।
যেমন: 28
1 + 2 + 4 + 7 + 14 = 28

একটা সংখ্যার গুনণীয়কগুলার যোগফল যদি সেই সংখ্যার চেয়ে বড় হয় তবে তাকে abundant number বলে।
যেমন: 12
1 + 2 + 3 + 4 + 6 = 16

একটা সংখ্যার গুনণীয়কগুলার যোগফল যদি সেই সংখ্যার চেয়ে ছোট হয় তবে তাকে deficient number বলে।

24 হল সবচেয়ে ছোট সংখ্যা যেটাকে দুইটা abundant number-এর যোগফল হিসেবে লেখা যায়।
28123 থেকে বড় সবগুলা সংখ্যাকেই নাকি দুইটা abundant number-এর যোগফল হিসেবে লেখা যায়।

যেসব সংখ্যাকে দুইটা abundant number-এর যোগফল হিসেবে লেখা যায় না তাদের যোগফল আউটপুট।

প্রথম কয়টা abundant number দেখেন, ভাল লাগবে। 🙂

1 + 2 + 3 + 4 + 6 = 16 (12)
1 + 2 + 3 + 6 + 9 = 21 (18)
1 + 2 + 4 + 5 + 10 = 22 (20)
1 + 2 + 3 + 4 + 6 + 8 + 12 = 36 (24)
1 + 2 + 3 + 5 + 6 + 10 + 15 = 42 (30)
1 + 2 + 3 + 4 + 6 + 9 + 12 + 18 = 55 (36)
1 + 2 + 4 + 5 + 8 + 10 + 20 = 50 (40)
1 + 2 + 3 + 6 + 7 + 14 + 21 = 54 (42)
1 + 2 + 3 + 4 + 6 + 8 + 12 + 16 + 24 = 76 (48)
1 + 2 + 3 + 6 + 9 + 18 + 27 = 66 (54)
1 + 2 + 4 + 7 + 8 + 14 + 28 = 64 (56)
1 + 2 + 3 + 4 + 5 + 6 + 10 + 12 + 15 + 20 + 30 = 108 (60)
1 + 2 + 3 + 6 + 11 + 22 + 33 = 78 (66)
1 + 2 + 5 + 7 + 10 + 14 + 35 = 74 (70)
1 + 2 + 3 + 4 + 6 + 8 + 9 + 12 + 18 + 24 + 36 = 123 (72)
1 + 2 + 3 + 6 + 13 + 26 + 39 = 90 (78)
1 + 2 + 4 + 5 + 8 + 10 + 16 + 20 + 40 = 106 (80)
1 + 2 + 3 + 4 + 6 + 7 + 12 + 14 + 21 + 28 + 42 = 140 (84)
1 + 2 + 4 + 8 + 11 + 22 + 44 = 92 (88)
1 + 2 + 3 + 5 + 6 + 9 + 10 + 15 + 18 + 30 + 45 = 144 (90)
1 + 2 + 3 + 4 + 6 + 8 + 12 + 16 + 24 + 32 + 48 = 156 (96)
1 + 2 + 4 + 5 + 10 + 20 + 25 + 50 = 117 (100)
1 + 2 + 3 + 6 + 17 + 34 + 51 = 114 (102)
1 + 2 + 4 + 8 + 13 + 26 + 52 = 106 (104)
1 + 2 + 3 + 4 + 6 + 9 + 12 + 18 + 27 + 36 + 54 = 172 (108)
1 + 2 + 4 + 7 + 8 + 14 + 16 + 28 + 56 = 136 (112)
1 + 2 + 3 + 6 + 19 + 38 + 57 = 126 (114)

Problem 24

Permutation কি জিনিস সেটা তো সবাই জানেন

0, 1, 2 কে permutation করলে পাওয়া যাবে:
012
021
102
120
201
210

একইভাবে 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 কে permutation করলে পাওয়া যাবে:
0123456789
0123456798
0123456879
0123456897
0123456978
0123456987
0123457689
0123457698
0123457869
0123457896
0123457968
0123457986
0123458679
0123458697
0123458769
0123458796
0123458967
0123458976
0123459678
0123459687
….

এইভাবে করে লিখতে থাকেন। ঠিক আছে?
তারপর ১০০০০০০-তম লাইন যেটা হবে সেটাই উত্তর। :-O (মাইরালা! কেউ আম্রে মাইরালা)

0, 1, 2 permutation হল ৬ টা
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 permutation কতগুলা জানেন? 3628800

কাজটা প্রথমে লুপ দিয়ে চিন্তা করার চেষ্টা করতে পারেন। আমার ধারনা লুপ দিয়ে চিন্তা করতে সহজ হবে।
তবে কোড করার ক্ষেত্রে recursive ভাবে করা সহজ। আমি দুইটা পদ্ধতি নিয়েই আলোচনা করব। আপাতত যেভাবে পারেন চিন্তা করে সলভ করেন আর কি।

Problem 25

১০০০ ডিজিটের প্রথম ফিবোনাচ্চি নাম্বারটা; কত তম ফিবোনাচ্চি নাম্বার, সেটাই উত্তর।

১০০০ ডিজিটের প্রথম ফিবোনাচ্চি নাম্বারটা দেখবেন?

107006626638275893676498058445739688508368389663215166501323520
337531452060469404062188914758248979265780469488817759195748433
646667256995951299603046126274809248218614406943305123477444275
027378175308757939166619214925918675955396642283714894311307469
950343954700198543260972306729019287052644724372611771582182554
849112052501320147861296593138179223555965745203950613755146783
754322911960212993404826070617539770684706820289548690266618543
512452190036948064135744747091170761976694569107009802439343961
747410373691250323136553216477369702316775505159517351846057995
491941096777837322966579658164651390348815425631018422419025984
608800011018625555024549393711365165703944762958471454852342595
042858242530608354443542821261100899286379504800689433030977321
783486454311320576565986845628861680871869383529735064398629764
066000072356291790520705116407761481249188583094594056668833910
935094445657635766615161931775379289166158132715961687748798382
1820492520348473874384736771934512787029218636250627816

বলতে হবে এটা কততম ফিবোনাচ্চি নাম্বার। সহজ না?

হুম। অনেক সহজ না, আবার কঠিনও বলা যাবে না। আমরা তো সবাই জানি বিগ-ইন্টিজার কিভাবে সলভ করতে হয়। সেইভাবে একটা একটা করে ফিবোনাচ্চি বের করতে থাকবেন। যখনই কোন ফিবোনাচ্চির দৈর্ঘ্য ১০০০ এর সমান/বেশি হবে তখনই উত্তরটা পেয়ে যাবেন।

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s