ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Общий форум

Time limit Exceded(TLE) on problem no. 1083
Послано Nobo Chowdhury 16 сен 2015 22:59
I use recursion method for solve this problem.But it verdict as TLE. How can i improve my code? Here is my code>

#include<iostream>
#include<stdio.h>
#include<algorithm>

using namespace std;


int fac(int a,int b)
{
    if(a==1)
        return 1;
     else if(a<0 || a==0)
            return 2;

    else
        return a*fac(a-b,b);
}

int main()
{
    int n,k,a;
    long long int sum;

    while(scanf("%d %d",&n,&k)!=EOF)
    {
         sum=1;

        if((n>=1 && n<=10)&& (k>=1 && k<=20)){

        sum=sum*fac(n,k);
        cout<<sum<<endl;
        }

    }
    return 0;
}