package Day35;
import java.util.Scanner;
//有3,5,7分钱的硬币,以及给定的数额N,求找开N所需的最小硬币数目。
public class Test {
static int[] arr = new int[100];
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n= sc.nextInt();
arr[5]=1;
arr[6]=2;
arr[7]=1;
arr[8]=2;
arr[9]=3;
arr[10]=2;
arr[11]=3;
arr[12]=2;
for(int i=12;i<=n;i++)
{
arr[i]=min(i);
}
System.out.println(arr[n]);
}
public static int min(int i)
{
int a=(arr[i-3]+1);
int b=(arr[i-5]+1);
int c=(arr[i-7]+1);
return (a>b?b:a)>c?c:(a>b?b:a);
}
}
动态规划问题3
最新推荐文章于 2024-01-28 09:45:00 发布