fork download
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. int Recurs(int,int);
  4. int Enumeration(int);
  5. int types [5]={0,1,2,5,10};
  6. int main(){
  7. int number;
  8. printf("Введите число:");
  9. scanf("%d",&number);
  10.  
  11. printf("Рекурентный алгоритм: %d/n", Recurs(number,4));
  12. printf("Перебор: %d/n", Enumeration(number));
  13. return 0;
  14. }
  15. int Recurs(int s, int b){
  16. if(types[b]==1)return 1;
  17. else if(s>types[b])return (Recurs(s,b-1)+Recurs(s-types[b],b));
  18. else if(s==types[b])return(Recurs(s,b-1)+1);
  19. else return Recurs(s,b-1);
  20. }
  21. int Enumeration(int s)
  22. {
  23. int count=0;
  24. for(int a=0; a<=s;a++)
  25. for(int b=0; b<=s;b++)
  26. for(int c=0; c<=s;c++)
  27. for(int d=0; d<=s;d++)
  28. if(d*1 + c*2 + b*5 + a*10 == s) count++;
  29. return count;
  30. }
  31.  
Time limit exceeded #stdin #stdout 5s 4508KB
stdin
Standard input is empty
stdout
Standard output is empty