Saturday, May 13, 2017

URI solution-1150

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);


}




No comments:

Post a Comment