题目:
斐波那契数列:0、1、1、2、3.。。。求前n个斐波那契数列中“1”出现的次数,比如前10个斐波那契数列中1出现的次数为4
import java.util.*;
/**
* 招商银行测开笔试题
* 求前n个斐波那契数列中“1”出现的次数
* @author Star Ma
*
*/
public class Test03 {
public static int fib(int n) {
int a=0,b=1;
int count=1;
StringBuffer s = new StringBuffer();
if(n==1) {
count=0;
}
if(n==2) {
count=1;
}
//s.append("01");
for(int i=3;i<=n;i++) {
b=a+b;
a=b-a;
//String c=String.valueOf(b); //将int型转化为String
s.append(b);
}
for(int j=0; j<s.length(); j++) {
if(s.charAt(j)=='1') {
count++;
j++;
}
}
return count;
}
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(fib(n));
}
}