function এর argument এর সংখ্যা বেশি হলে কি কি সমস্যা হয় ? এর ফলে প্রোগ্রামিং কন্টেস্টে কি TLE বা RE হয় ?

asked 27 Jun '15, 07:53

Mohammad%20Nasim's gravatar image

Mohammad Nasim
111


TLE অথবা RE কেন হয় তার বিস্তারিত জানতে পারবেনঃ এখানে

function এর argument সংখ্যা বেশি হলে TLE খাওয়ার সম্ভাবনা থাকে যদি function recursive হয়। যেমনঃ factorial বের করার ক্ষেত্রে recursive function টি হবেঃ

#include<stdio.h>
int f(int n)
{
  if(n==0) return 1;
  else return n*f(n-1);
}
int main()
{
   int n,t;
   scanf("%d",&t);
   while(t--){
   scanf("%d",&n);
   printf("Factorial of n!=%d\n",f(n));
   }
   return 0;
}

এখন যদি আপনি t=১০০০ আর n=5 ইনপুট হিসেবে দেন, তাহলে ১০০০ বার প্রোগ্রামটি একই কাজ করবে।তখন একই কাজ বার বার করায় TLE হতে পারে। তার চেয়ে ভালো হয় যদি একবার calculate করা উত্তর আমরা array তে সেভ করে রাখি,যাতে পরে আর calculate করতে না হয়।

এখানে function এর মাত্র একটি argument। তাই আমরা 1D array ব্যবহার করতে পারি।যেমনঃ fact[0]=1;

argument যতগুলো হবে, অ্যারে এর ডাইমেন্সন তত হবে,recursive কল ততো বেশি হবে । argument কম ব্যবহার করার চেষ্টা করতে হবে। একটি function এ কতোগুলো argument প্রয়োজন বা recursive কল কিভাবে কমানো যায় তা জানতে পড়ুন: রিকার্শন, সার্চিং এবং ডাইনামিক প্রোগ্রামিং এবং
ডাইনামিক প্রোগ্রামিং এ হাতেখড়ি-১(শুরুর কথা)

permanent link

answered 27 Jun '15, 08:42

Kaiser%20Ahmed's gravatar image

Kaiser Ahmed
3.2k419

edited 27 Jun '15, 13:17

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×26

question asked: 27 Jun '15, 07:53

question was seen: 481 times

last updated: 27 Jun '15, 13:17