ছোটদের প্রোগ্রামিং শেখা এখন আগের চেয়েও সহজ। কারণ দ্বিমিক প্রকাশনী থেকে বের হয়েছে তামিম শাহরিয়ার সুবিন-এর "পাইথন দিয়ে প্রোগ্রামিং শেখা"! বিস্তারিত জানতে এখানে ক্লিক করুন

গণক

সমস্যাটি পাঠিয়েছেন মাহবুব মোযাদ্দেদ সৌরভ (এসিএম আইসিপিসি ওয়ার্ল্ড ফাইনালিস্ট - ২০০৮)।


আমাদের বিশ্বজিৎ একজন গণক! না, সে 'ভবিষ্যত' গণনা করা তথাকথিত গণক না, বরং তার শখ হলো গণনা করা। তাই সুযোগ পেলেই সে যে কোন কিছু গণনা শুরু করে দেয়, তা সে যতই তুচ্ছ হোক না কেন। তো আমাদের এই বিশ্বজিতের আর একটি ভালো অভ্যাস হলো সে প্রতিদিন কোন একটা সময়ে তার বাড়ির পাশে খাল পারের রাস্তা দিয়ে কিছুক্ষন হাঁটাহাটি করে, আর সেই রাস্তাটা লাল-সাদা ইটের টালি দিয়ে বাঁধাই করা। স্বভাবতই সে প্রায় প্রতিদিনই হাঁটার সময় চেষ্টা করে আজ কতগুলো টালি অতিক্রম করে যাচ্ছে গুণে ফেলতে। কিন্তু দুঃখের বিষয় হলো, প্রায় প্রতিদিনই সে ভুল করে ফেলে কারণ হাঁটতে গেলে সবসময় তো আর পায়ের নিচের টালি গুলোর দিকে তাকিয়ে থাকা যায় না, সামনের দিকেও তাকাতে হয়, পরিচিত কাউকে দেখলে তার দিকে তাকিয়ে একটু মুচকি হাসি দিতে হয়, ইত্যাদি করতে গিয়ে প্রতিবারই সে গণনার তাল হারিয়ে ফেলে। তাই বিশ্বজিৎ চিন্তা করছে তার এই টালি গণনার কাজটা অন্য কোন ভাবে করা যায় কিনা? এর সমাধান হিসেবে সে ঠিক করে নিয়েছে হাঁটার সময় সে প্রতি সেকেন্ডে এক কদম করে এগুবে এবং তার প্রতি পদক্ষেপের দৈর্ঘ্য সবসময় সমান রাখবে, সেই সমান দৈর্ঘ্যের প্রতি পদক্ষেপে কতগুলো করে টালি অতিক্রম হয় তা তো সহজেই গুণে নেয়া যায়। তাহলে সে যদি টালি বাঁধাই করা পথে হাঁটা শুরু করার আগ মুহূর্তের সময় টুকে নেয় (আগ মুহূর্তের সময় মানে সে যদি "১০ টা ১০ মি: ০ সে:" কে 'শুরুর সময়' হিসেবে লিখে তাহলে ১০টা ১০ মি: ১ সে: এ সে ১ পা এগুবে) এবং টালি পথে হাঁটার শেষ করার সময়টা নিয়ে নেয় (যদি ১০টা ১০মি: ০সে: এ হাঁটা শুরু করে ২ পা হেঁটেই তার হাঁটা শেষ করে তাহলে হাঁটার 'শেষ সময়' হবে ১০টা ১০মি: ২সে:) তাহলে কত সময় ধরে সে হেঁটেছে জেনে নিয়ে - সে টালি বাধাই করা পথে কতগুলো পদক্ষেপ দিয়েছে এবং প্রকারন্তরে সে মোট কতগুলো টালি অতিক্রম করেছে তা হিসাব করে ফেলা সম্ভব। বিশ্বজিৎ বেশ কিছুদিন খাতা-কলমে এ হিসাব করেছে কিন্তু বারবার একই রকম হিসাব করাটা কিছুটা একঘেয়েমি ব্যাপার হয়েগেছে তার জন্য। বিশ্বজিৎ শুনেছে তুমি কম্পিউটারের ভাষা জানো, তাই সে তোমার কাছে এসেছে তার এই প্রতিদিনের কাজটি করে দিতে পারে এরকম একটি কম্পিউটার প্রোগ্রাম লিখে দেয়ার জন্য।


1 টি মন্তব্য:

  1. #include
    int main()
    {
    int a,b,c,d,e,C,f,i,N,start,end,j;
    scanf("%d",&N);
    int l[N];
    if(N<20 && N>=1){
    for(i=0;i=1){
    if((0<=a && a<24 && 0<=b && b<60 && 0<=c && c<60) && (0<=d && d<24 && 0<=e && e<60 && 0<=f && f<60))
    {

    start=a*3600+b*60+c;
    end=d*3600+e*60+f;
    (end-start)<=2*3600;

    if(end>start){
    j=(end-start)*C;
    l[i]=j;
    }
    else if(start>end){
    j=(end+24*3600-start)*C;
    l[i]=j;
    }
    }
    }
    }
    }
    for(i=0;i<N;i++){
    printf("%d\n",l[i]);
    }
    return 0;
    }

    ভুলটা কোথায়???????????

    উত্তরমুছুন

এখানে বিষয়সংশ্লিষ্ট মন্তব্য কিংবা প্রশ্ন করা যাবে। বাংলায় মন্তব্য করার সময় বাংলা হরফে লিখতে হবে। আর রোমান হরফে লিখলে ইংরেজিতে লিখতে হবে। নতুবা মন্তব্য প্রকাশ করা হবে না। ধন্যবাদ।