u+1=v প্রকৃতপক্ষে লুপের একটি পোস্ট-শর্ত (কেন আপনি মনে করেন এটি "স্পষ্টভাবে" কেস নয়?)। এটি সর্বদা কিছুক্ষণ লুপের ক্ষেত্রে ঘটে যা এতে থাকে না break
: যখন লুপটি প্রস্থান করে, তখনই এটি হতে পারে কারণ লুপের শর্তটি (এখানে, ) মিথ্যা false লুপটি এখানে থেকে বেরিয়ে আসার পরে কেবল একমাত্র সত্য হবে না (এই অ্যালগরিদমটি আসলে আপনার আকর্ষণীয় কিছুকে গণনা করে, যেমনটি আপনি নিজের ক্লাসে দেখেছেন, তাই এবং post এছাড়াও পোস্ট-কন্ডিশন) তবে এটি সর্বাধিক সুস্পষ্ট।u+1≠vu=[this interesting thing]v=[this interesting thing]
এখন, অন্যান্য আকর্ষণীয় বৈশিষ্ট্যগুলি সন্ধানের জন্য, কোনও সাধারণ রেসিপি নেই। প্রকৃতপক্ষে, কিছু আনুষ্ঠানিক জ্ঞান রয়েছে যার মধ্যে লুপ আক্রমণকারীদের খুঁজে পাওয়ার কোনও সাধারণ রেসিপি নেই। আপনি সবচেয়ে ভাল ব্যবহার করতে পারেন এমন কিছু কৌশল প্রয়োগ করা যা কেবলমাত্র কিছু ক্ষেত্রে কাজ করে বা সাধারণত আকর্ষণীয় পর্যবেক্ষণের জন্য মাছ ধরতে যায় (যা আপনি আরও অভিজ্ঞ হওয়ার সাথে সাথে আরও ভাল এবং আরও ভাল কাজ করে)।
আপনি যদি কিছু মান দিয়ে কয়েকটি পুনরাবৃত্তির জন্য লুপটি চালান , আপনি প্রতিটি পুনরাবৃত্তিতে দেখতে পাবেন:n
- হয় লাফিয়ে লাফিয়ে ;u(u+v)/2
- অথবা লাফিয়ে নেমে আসে ।v(u+v)/2
বিশেষত, চেয়ে কম শুরু করেন এবং এটি কখনই ছাড়তে পারবেন না। তবুও , ইতিবাচক শুরু করেন এবং বৃদ্ধি পান, যখন শুরু হয় এবং হ্রাস পায়। সুতরাং পুরো প্রোগ্রাম জুড়েই একজন আক্রমণকারী।uvuvn+10≤u≤v≤n+1
একটি জিনিস যা এতটা স্পষ্ট নয় তা হ'ল কখনই সমান হতে পারেন । এটি গুরুত্বপূর্ণ: যদি এবং কখনও সমান হন, আমাদের এবং লুপটি চিরতরে চলে যাবে। সুতরাং আপনাকে প্রমাণ করতে হবে যে অ্যালগরিদম সঠিক (যেমন চিরতরে লুপ হয় না) প্রমাণ করার জন্য এবং কখনই সমান হন না। এই প্রয়োজনীয়তাটি চিহ্নিত হয়ে গেলে, এটি প্রমাণ করা সহজ (আমি এটিকে একটি অনুশীলন হিসাবে ছেড়ে দিচ্ছি) যে একটি লুপ আক্রমণকারী (মনে রাখবেন যে এবং পূর্ণসংখ্যা, তাই এটি equivalent এর সমতুল্য) )।uvuvx=u=vuvu<vuvu+1≤v
প্রোগ্রামের শেষে , যেহেতু আপনাকে পোস্ট-শর্ত দেওয়া হয়েছিল সেগুলিও আপনার লেখা যেতে পারে (অংশ তুচ্ছ)। আমরা সাথে জড়িত থাকার মতো পোস্ট-কন্ডিশনের কারণটি হ'ল আমরা প্রোগ্রামটির ফলাফলটিকে ইনপুট দিয়ে টাই করতে চাই । কেন এই সুনির্দিষ্ট অবস্থা? আমরা এমন কিছু সন্ধান করছি যা যথাসম্ভব যথাযথভাবে সুনির্দিষ্টভাবে পাওয়া যায় এবং আমরা লুপের ভিতরে কোথায় উপস্থিত হয় তা লক্ষ্য করি:v=u+1u2≤n<v20≤u2nnn
- আমাদের ;u≤x≤v
- যখন , আমরা পরের হিসাবে বেছে , যাতে (এবং পরিবর্তন হয় না);x2≤nuxu2≤nv
- যখন , আমরা পরের কে , যাতে (এবং পরিবর্তন করেন না)।x2>nvxn<v2u
এই দ্বৈতত্ত্ব ইঙ্গিত দেয় যে সর্বদাঅন্য কথায়, আমরা সন্দেহ করি যে এটি একটি লুপ আক্রমণকারী। এটি যাচাই করা পাঠকের কাছে অনুশীলন হিসাবে বাকী রয়েছে (শুরুতে সম্পত্তিটি সত্য কিনা তা মনে রাখবেন)।u2≤n<v2
এবং এখন আমরা এই সমস্ত কাজটি করে ফেলেছি, আমরা দেখতে পাচ্ছি যে এবং : হল বর্গমূল, নিকটতম পূর্ণসংখ্যার সাথে বৃত্তাকার।( u + 1 ) 2 > n ইউ এনu2≤n(u+1)2>nun