NYOJ 光棍的yy 斐波那契 大数
输入
第一行输入一个n表示有n个测试数据
以下n行,每行输入m个1
(1 <= n,m <= 200)
输出
输出这种组合种数,占一行
样例输入
3
11
111
11111样例输出
2
3
8
斐波那契数列,难点在大数处理和获取位数
用java写了代码
[java]
import java.io.*;
import java.math.*;
import java.util.*;
public class Main {
//斐波那契数列,1~200位,大数处理
public static void main(String[] args) {
Scanner cin=new Scanner(new BufferedInputStream(System.in));
BigInteger[] a=new BigInteger [202];
int n;
a[0]=BigInteger.ONE;
a[1]=BigInteger.ONE;
for(int i=2;i<=200;i++)
{
a[i]=a[i-1].add(a[i-2]);
}
n=cin.nextInt();
String s;
while(n-->0)
{
s=cin.next();//获取下一个字符串,nextLine是获取下一行
System.out.println(a[s.length()]);
}
}
}
import java.io.*;
import java.math.*;
import java.util.*;
public class Main {
//斐波那契数列,1~200位,大数处理
public static void main(String[] args) {
Scanner cin=new Scanner(new BufferedInputStream(System.in));
BigInteger[] a=new BigInteger [202];
int n;
a[0]=BigInteger.ONE;
a[1]=BigInteger.ONE;
for(int i=2;i<=200;i++)
{
a[i]=a[i-1].add(a[i-2]);
}
n=cin.nextInt();
String s;
while(n-->0)
{
s=cin.next();//获取下一个字符串,nextLine是获取下一行
System.out.println(a[s.length()]);
}
}
}
补充:软件开发 , Java ,