uva 11375

时间:2023-03-09 21:15:44
uva 11375

思路是刘书上的 但是个高精度  java 大数 ~~

import java.util.*;
import java.io.*;
import java.math.BigInteger; public class Main
{
public static void main(String[] args)
{
BigInteger[] f = new BigInteger[2010];
int c[] = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 6 };
for(int i = 1; i <= 2000; ++ i)
f[i] = new BigInteger("0");
f[0] = new BigInteger("1");
for(int i = 0; i <= 2000; ++ i)
for(int j = 0; j < 10; ++ j)
if(!(i == 0 && j == 0) && i + c[j] <= 2000)
f[i + c[j]] = f[i + c[j]].add(f[i]);
f[6] = f[6].add(new BigInteger("1"));
for(int i = 2; i <= 2000; ++ i)
f[i] = f[i-1].add(f[i]);
Scanner in = new Scanner(System.in);
while(in.hasNextInt())
{
int n = in.nextInt();
System.out.println(f[n]);
}
}
}