Albatross Mohoshi's Blog
প্রশ্নের দিক নির্দাশবলীঃ
* প্রথমেই দেখতে হবে, যে ইনপুট টা কিভাবে নিতে বলা হয়েছে এবং আউটপুট টা কিভাবে
দেখাতে বলা হয়েছে।
* প্রোগ্রামটিতে দুইটি ইনপুট নিতে বলা হয়েছে। প্রথমে একটি ইনপুট নিতে হবে এবং দ্বিতীয় ইনপুটটি ততক্ষন পর্যন্ত নিতে হবে যতক্ষন না সেটি প্রথমটা থেকে বড় হয়।
* তারপর প্রথম ইনপুট এর সাথে ক্রমানুযায়ী তার পরের সংখ্যা গুলো যোগ করতে হবে যতক্ষন না সেটি দ্বিতীয় সংখ্যা থেকে বড় হয়।
* আউটপুটে বের করতে হবে আসলে প্রথমে ইনপুট এর সাথে কয়টি সংখ্যা যোগ করলাম দ্বিতীয় সংখ্যা থেকে বড় হওয়ার জন্য।
উদাহরণঃ প্রশ্নের স্যাম্পল এর টা নিয়ে একটু চিন্তা করি-
৩
১
২০
ইনপুট নেওয়ার কথা দুইটি কিন্তু নিলাম ৩টি কারন ৩ এর চেয়ে ১ ছোট । যখনই ৩ এর চেয়ে বড় নিলাম তখনই সেটি ব্রেক করলো।
এখন, ৩+৪+৫+৬+৭=২৫ ,এটি ২০ থেকে বড় হয়ে গেলো। তাহলে ২০ থেকে বড় করার জন্য
আমাদের সংখ্যা লাগলো মোট ৫ টি।
তাহলে আউটপুট হবে ৫।
* নিউ লাইন দিতে ভুলে যেয়ো না কিন্তু নাহলে প্রেজেন্টেশন এরর!
* আউটপুটের লিখার স্টাইলটা অবশ্যই খেয়াল রাখবা।
সমাধানঃ
#include<stdio.h>
int main(void){
int i,j,k,l,m=0,n=0;
scanf("%d", &j);
for(i=0;;i++){
scanf("%d", &k);
if(k>j)break;
}
for(l=j;;l++){
n+=l;
m++;
if(n>k)break;
}
printf("%d\n", m);
}
* প্রোগ্রামটিতে দুইটি ইনপুট নিতে বলা হয়েছে। প্রথমে একটি ইনপুট নিতে হবে এবং দ্বিতীয় ইনপুটটি ততক্ষন পর্যন্ত নিতে হবে যতক্ষন না সেটি প্রথমটা থেকে বড় হয়।
* তারপর প্রথম ইনপুট এর সাথে ক্রমানুযায়ী তার পরের সংখ্যা গুলো যোগ করতে হবে যতক্ষন না সেটি দ্বিতীয় সংখ্যা থেকে বড় হয়।
* আউটপুটে বের করতে হবে আসলে প্রথমে ইনপুট এর সাথে কয়টি সংখ্যা যোগ করলাম দ্বিতীয় সংখ্যা থেকে বড় হওয়ার জন্য।
উদাহরণঃ প্রশ্নের স্যাম্পল এর টা নিয়ে একটু চিন্তা করি-
৩
১
২০
ইনপুট নেওয়ার কথা দুইটি কিন্তু নিলাম ৩টি কারন ৩ এর চেয়ে ১ ছোট । যখনই ৩ এর চেয়ে বড় নিলাম তখনই সেটি ব্রেক করলো।
এখন, ৩+৪+৫+৬+৭=২৫ ,এটি ২০ থেকে বড় হয়ে গেলো। তাহলে ২০ থেকে বড় করার জন্য
আমাদের সংখ্যা লাগলো মোট ৫ টি।
তাহলে আউটপুট হবে ৫।
* নিউ লাইন দিতে ভুলে যেয়ো না কিন্তু নাহলে প্রেজেন্টেশন এরর!
* আউটপুটের লিখার স্টাইলটা অবশ্যই খেয়াল রাখবা।
* প্রোগ্রামটি হয়ে গেলে প্রশ্নের ইনপুট গুলো দিয়ে পরীক্ষা করে দেখো উপরোক্ত আউটপুট গুলো আসে কিনা।
সমাধানঃ
#include<stdio.h>
int main(void){
int i,j,k,l,m=0,n=0;
scanf("%d", &j);
for(i=0;;i++){
scanf("%d", &k);
if(k>j)break;
}
for(l=j;;l++){
n+=l;
m++;
if(n>k)break;
}
printf("%d\n", m);
}
No comments:
Post a Comment