• poj 2229


    Sumsets
    Time Limit: 2000MS Memory Limit: 200000K
    Total Submissions: 6980 Accepted: 2763

    Description

    Farmer John commanded his cows to search for different sets of numbers that sum to a given number. The cows use only numbers that are an integer power of 2. Here are the possible sets of numbers that sum to 7:

    1) 1+1+1+1+1+1+1
    2) 1+1+1+1+1+2
    3) 1+1+1+2+2
    4) 1+1+1+4
    5) 1+2+2+2
    6) 1+2+4

    Help FJ count all possible representations for a given integer N (1 <= N <= 1,000,000).

    Input

    A single line with a single integer, N.

    Output

    The number of ways to represent N as the indicated sum. Due to the potential huge size of this number, print only last 9 digits (in base 10 representation).

    Sample Input

    7

    Sample Output

    6

    Source

    难得写次递归,vs2008居然爆掉了》Stack overflow》,郁闷了下
    据说是栈溢出,不清楚是什么情况
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<math.h>
    int f[1000002];
    int find(int num)
    {
    	if(f[num])
    		return f[num];
    	if(num==0)
    		return 0;
    	if(num%2==0)
    		f[num]=(find(num-2)+find(num/2))%1000000000;
    	else if(num%2==1)
    		f[num]=find(num-1)%1000000000;
    	return f[num];
    }
    int main()
    {
    	int n;
    	memset(f,0,sizeof(f));
    	f[1]=1;
    	f[2]=2;
    	while(scanf("%d",&n)!=EOF)
    	{
    		printf("%d\n",find(n));
    	}
    	return 0;
    }
    
  • 相关阅读:
    CSS开发中常用技巧总结
    Linq的分组功能
    深入理解 C# 协变和逆变
    js数组删除数组元素!
    关于 Photoshop 蒙版和 Alpha 通道
    jQuery数组处理详解(含实例演示)
    多媒体指令(灰度像素最大值)
    多媒体指令(图像均值模糊)
    matlab练习程序(立体相关块匹配)
    matlab练习程序(steerable filters)
  • 原文地址:https://www.cnblogs.com/submarinex/p/1941272.html
Copyright © 2020-2023  润新知