首页 > 其他分享 >J Fibonacci Cane

J Fibonacci Cane

时间:2023-08-07 17:57:13浏览次数:43  
标签:cnt Cane ll long 斐波 Fibonacci printf

湖南省第十八届大学生计算机程序设计竞赛(HNCPC2022)J题

原题链接:https://cpc.csgrandeur.cn/csgoj/problemset/problem?pid=1198

没错,这个题是签到题:判断斐波那契区间有没有一段的和等于n,由于n≤1e15,所以直接暴力求解。

题解代码如下

#include<iostream>

using namespace std;

typedef long long ll;

ll f[110];  //自己百度斐波那契数列前一百项,就知道为啥空间足够了。
int cnt;

void init()
{
	f[1] = 1, f[2] = 1;
	cnt = 2;
	while (f[cnt] <= 1e15)
	{
		f[cnt + 1] = f[cnt] + f[cnt - 1];  //将小于等于1e15的斐波那契数放入数组。
		cnt++;
	}
}
int main()
{
	init();
	ll n;
	while (scanf("%lld", &n)!=EOF)//题目输入要求
	{
		bool ok = false;
		for (int i = 1; i <= cnt; i++)
		{
			ll sum = 0;
			for (int j = i; j <= cnt; j++)
			{
				sum += f[j];
				if (sum == n)
				{
					ok = true;
				}
				else if (sum > n) break;  //当sum大于n时就没必要内部循环相加了,因为sum一直是递增。
			}
		}
		if (ok)
			printf("YES\n");
		else
			printf("NO\n");
	}
	return 0;
}

本人蒟蒻,若有不对或不恰当之处,还望指正,感谢观看我的博客

标签:cnt,Cane,ll,long,斐波,Fibonacci,printf
From: https://www.cnblogs.com/expect-999/p/17612068.html

相关文章

  • Exercise: Fibonacci closure
    Go里面斐波那契数列的简单实现。我那会儿的教材是1,1起算,即f(0)=1,f(1)=1。Go的Exercise说明里面是0,1起算。既然是用Go写,索性就用它的定义吧,主要代码如下(Go的这个multipleresult用起来是真方便):1funcfibonacci()func()int{2F0,F1:=0,13returnfunc()int......
  • 【并查集】 HDOJ 4786 Fibonacci Tree
    就是求出搞成最小生成树的最少白边和最多白边的数量。。。。#include<iostream>#include<queue>#include<stack>#include<map>#include<set>#include<bitset>#include<cstdio>#include<algorithm>#include<cstring>#include<......
  • Python - fibonacci
    Soisthereeveragoodplacetousemutabledefaults?Yes!Mutabledefaultscanbeveryusefulforcachingand/orrecursivealgorithms:deffibonacci(n,cache={0:0,1:1}):ifnincache:returncache[n]else:value=fibonacci(n-......
  • 佳佳的 Fibonacci
    目录题目链接题目描述做题思路1.我推它的公式2.我搞它的矩阵代码实现题目链接题目描述私货:《消失点》——洛天依\Icelter。做题思路1.我推它的公式双倍题解给下一位首先,\(f_i=f_{i-1}+f_{i-2}\)其次,\(T_i=T_{i-1}+if_i\)易得,\(T_i=T_{i-1}+nf_{n-1}+nf_{n-2}\)所以我......
  • 佳佳的 Fibonacci 题解
    佳佳的Fibonacci题解题目:题解:数据范围很大,暴力超时,考虑的是矩阵优化递推,关键是求出递推矩阵,然后结合矩阵快速幂求解如何求解递推矩阵?我们首先知道斐波那契的递推式:f[i]=f[i-1]+f[i-2]——>①然后题目中给我们了T(n)的递推式:T(n)=F[1]+2F[2]+3F[3]+...+nF[n]——>②考......
  • 从蓝桥杯来谈Fibonacci数列
    2014年蓝桥杯的第九题是这样描述的:     给定Fibonacci数列F[],其中,,求表达式      的值。其中在讲解这道题之前,我们先来看一个简单版的。题目如下:题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1194分析:可以看出本题就是直接求,虽然这里的......
  • CF446C. DZY Loves Fibonacci Numbers
    好牛的题,写一下。题意:维护一个序列\(a\),长度为\(n\),有\(m\)次操作:1lr:对于\(i\in[l,r]\),\(a_i\leftarrowa_i+f_{i-l+1}\)。2lr:求\(\displaystyle\left(\sum_{i=l}^ra_i\right)\bmod(10^9+9)\)。其中\(f_{i}\)表示第\(i\)个斐波那契数(\(f_0=0,f_1=1,f_n=f_......
  • 【CF446C】DZY Loves Fibonacci Numbers(线段树)
    Description给定一个序列,资瓷区间加上一个斐波那契数列,区间求和。Solution有一个性质:fib[a+b]=fib[a−1]×fib[b]+fib[a]×fib[b+1]fib[a+......
  • HDU 1588 Gauss Fibonacci(矩阵快速幂)
    题目地址:HDU1588用于构造斐波那契的矩阵为1,11,0设这个矩阵为A。sum=f(b)+f(k+b)+f(2*k+b)+f(3*k+b)+........+f((n-1)*k+b)<=>sum=A^b+A^(k+b)+A^(2*k+b)+A^(3*k+b)+........+A^((n-1)*k+b)<=>sum=A^b+A^b*(A^k+A^2*k+A^3*k+.......+A^((n-1)*k))(1)设矩阵B为A^k;那么(1......
  • HDU 3306 Another kind of Fibonacci(矩阵快速幂)
    题目地址:HDU3306没什么智商的题目,只要把构造矩阵硬算出来就行。代码如下:#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<stdlib.h>#include<math.h>#include<ctype.h>#include<queue>#include<......