HDU 1041 递推 大数
2011-08-01 22:32
260 查看
递推:0->10 ;
1->01;
00->1010;
10->0110;
01->1001;
11->0101;
假设a[i]表示第i 步时候的00的个数,由上面的可以看到,00是由01 得到的,所以只要知道a[i-1]的01的个数就能够知道a[i]的00的个数了,那a[i-1]怎么求呢,同样看推导,01由1和00 得到,而第i步1的个数是2^(i-1),所以a[i]=2^(i-3)+a[i-2];
大数的话用java比较方便,用C++效率高点
import java.io.*;
import java.math.*;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
int N;
BigInteger []a=new BigInteger[1001];
a[1]=new BigInteger("0");
a[2]=new BigInteger("1");
a[3]=new BigInteger("1");
for(int i=4;i<=1000;i++)
{
a[i]=BigInteger.valueOf(2).pow(i-3).add(a[i-2]);
}
Scanner cin=new Scanner(System.in);
while(cin.hasNext())
{
N=cin.nextInt();
System.out.println(a[N].toString());
}
}
}
1->01;
00->1010;
10->0110;
01->1001;
11->0101;
假设a[i]表示第i 步时候的00的个数,由上面的可以看到,00是由01 得到的,所以只要知道a[i-1]的01的个数就能够知道a[i]的00的个数了,那a[i-1]怎么求呢,同样看推导,01由1和00 得到,而第i步1的个数是2^(i-1),所以a[i]=2^(i-3)+a[i-2];
大数的话用java比较方便,用C++效率高点
import java.io.*;
import java.math.*;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
int N;
BigInteger []a=new BigInteger[1001];
a[1]=new BigInteger("0");
a[2]=new BigInteger("1");
a[3]=new BigInteger("1");
for(int i=4;i<=1000;i++)
{
a[i]=BigInteger.valueOf(2).pow(i-3).add(a[i-2]);
}
Scanner cin=new Scanner(System.in);
while(cin.hasNext())
{
N=cin.nextInt();
System.out.println(a[N].toString());
}
}
}
相关文章推荐
- HDU 1041 递推 + 大数模板
- HDU 1041 Computer Transformation 大数递推
- hdu 1041 Computer Transformation(大数递推)
- hdu 1041(递推,大数)
- hdu 1041(Computer Transformation)(找规律,二维数组大数)
- hdu 1133 Buy the Ticket (大数+递推)
- hdu_1041(Computer Transformation) 大数加法模板+找规律
- hdu 1041 Computer Transformation(递推+大整数模板*)
- HDU 1316 How Many Fibs?(递推,大数相加)
- hdu 1865 1sting (java大数&递推)
- hdu 1041 Computer Transformation(规律+大数)
- HDU-1041-Computer Transformation(规律题 && 大数题)
- HDU 1297 Children’s Queue【大数加法 + 递推】
- hdu1041 Computer Transformation 大数找规律
- HDU 1041 Computer Transformation (简单大数)
- hdu 1297 Children’s Queue (大数加法+递推)
- hdu 1041 计算机二进制n步操作(大数加法)
- HDU 1041(递推+大数)
- HDU-1041 Computer Transformation 大数
- HDU-1041大数运算+递归