Project Euler Homework

031.cpp

Go to the documentation of this file.
00001 
00013 #include <iostream>
00014 
00015 int array[] = {1,2,5,10,20,50,100,200};
00016 
00017 unsigned sum=0;
00018 
00019 //dynamic programming
00020 void remainder(int N, int idx)
00021 {
00022         N-= array[idx];
00023 
00024         if (N==0){
00025                 sum++;
00026         }
00027         else if (N<0)
00028                 return;
00029         else {
00030                 for (int i=idx;i>=0;i--)
00031                         remainder(N,i);
00032         }
00033 }
00034 
00035 int main()
00036 {
00037         for (int i=7;i>=0;i--)
00038         remainder(200,i);
00039 
00040         std::cout<<sum<<std::endl;
00041         return 0;
00042 }
 All Classes Files Functions Variables