>>5 亀ですがこういうのはどうなんでしょう? #include <stdio.h> int coin(int m,int i,int sum) { int a[]={1,5,8,10,15}; sum=sum+m/a[i];m=m%a[i]; if (m==0)return sum; if (!i){sum+=m;return sum;} if ((m%a[i]==3||m%a[i]==4)&&(sum)){sum--;m=m+a[i];} return coin(m,i-1,sum);} int main(void){ int x; printf("金額を入力してください:"); scanf("%d",&x); printf("最小枚数は%d枚です。\n",coin(x,4,0)); return 0;}