zoukankan      html  css  js  c++  java
  • KK's Steel菲波那切数列的应用

    Description

    Our lovely KK has a difficult mathematical problem:he has a Nleft( 1leq Nleq {10}^{18} ight) meters steel,he will cut it into steels as many as possible,and he doesn't want any two of them be the same length or any three of them can form a triangle.
     

    Input

    The first line of the input file contains an integer Tleft( 1leq Tleq 10 ight), which indicates the number of test cases. 

    Each test case contains one line including a integer Nleft( 1leq Nleq {10}^{18} ight),indicating the length of the steel.
     

    Output

    For each test case, output one line, an integer represent the maxiumum number of steels he can cut it into.
     

    Sample Input

    1 6
     

    Sample Output

    3

    Hint

    1+2+3=6 but 1+2=3 They are all different and cannot make a triangle.

    把一个数分成不等的数相加 并且这些数任意三个不能构成三角形  

    直接求这个数可以分出多少个菲波那切数

    #include<bits/stdc++.h> 
    __int64 zu[200001];
    int main()
    {	
    	for(__int64 i=2;i<200001;i++)
              {
         	    zu[1]=1;
         	    zu[2]=2;
         	    zu[i+1]=zu[i]+zu[i-1];
    		 }
    	__int64 t,n;
    	scanf("%I64d",&t);
    	while(t--)
    	{
    		 __int64 cut=0;
    		  scanf("%I64d",&n);
    		  if(n<6)
    		  {
    		  	printf("0
    ");
    		  	continue;
    		  }
         	   for(__int64 i=1;i<200001;i++)
         	   {
         	   	n-=zu[i];
         	   	if(n<0)
         	   	{
         	   		  	break;
    				 } 
         	   	cut++;
    			}
    	
    		printf("%I64d
    ",cut);
    	}
    	return 0;
    }


    编程五分钟,调试两小时...
  • 相关阅读:
    asp.net 生成静态页
    修改数据库字段以及字段类型
    int ,int?,int??
    ASP.NET JS常用方法类
    遍历repeater中的控件的几种方式
    .net获取ip地址
    asp.net中DataList和Repeater的使用
    Web.config中注册用户控件和自定义控件
    dos 必知八项命令
    ASP.NET配置文件Web.config
  • 原文地址:https://www.cnblogs.com/kingjordan/p/12027119.html
Copyright © 2011-2022 走看看