我尝试输入3个整数,并确定它们是否是斐波那契三元组。Fibonacci Triple是三个连续的Fibonacci数。有人能帮我找出哪里出错了吗。谢谢!
def fibs():
a, b = 0, 1
yield a
yield b
while True:
a,b = b, a + b
yield b
fibInput = (input("please enter 3 numbers separated by commas: "))
n, o, p = [int(i) for i in fibInput.split(
虽然这个程序告诉了真相(除非你改变源代码),但它告诉斐波纳契数字,取决于用户的输入。考虑到所有(或大部分)以前的问题的反馈,我写了这个程序,看看我有多好的进展。
def get_fibonacci_sequence(max):
'''
Returns the Fibonacci sequence from the
first to the nth Fibonacci number.
'''
fib1 = 1
fib2 = 1
result = [fib1, fib2]
for i
def fibonacci_closure(n):
def fibonaci():
if n == 0: """in this line error occured idk why because in watches i see n=4"""
return 0
elif n == 1 or n == 2:
return 1
else:
i = 1
j = 1
我想问一下如何检索出fibo列表的列表,然后检查用户的输入值是否在fibo列表中。
a , b = 1, 1
while num <= sys.maxint:
fibo == a , b = b, a+b
if num == (b +a+b):
print "It is a Fibonacci number"
break
else:
print "It is not a Fibonacci number"
break
谢谢!
我试图把所有的斐波纳契数加到4000000。我已经成功地输出了所有的斐波纳契数字高达4000000,但增加所有的偶数对我来说是一个问题。到目前为止,这是我尝试过的:
fibonacci = [1, 2]
i = 0
while fibonacci[-1] < 4000000:
fib = fibonacci[-1] + fibonacci[-2]
fibonacci.append(fib)
i += 1
del fibonacci[-1]
result = 0
for x in fibonacci:
if fibonacci[x] % 2 == 0:
我为这个问题的简单性道歉,我已经搜索了很多次,但它可能是如此简单,以至于以前没有人问过它。
我写了一个Fibonacci函数,打印3000以下的每个Fibonacci数。
def fibonacci():
a, b = 0, 1
while b < 3000:
a, b = b, a + b
print a
return a
我怎么才能让它返回前n个斐波那契数呢?
另外,怎样才能让它只打印第n个值呢?例如print 6,它将返回8。我尝试将其设置为字符串:
a = str(fibonacci())
print a[6]
但这并不管用
可能重复:
嘿,我想写一个剧本,把"Fibonacci序列“中所有的偶数都加到4百万以下。
Fibonacci1 = 1
Fibonacci2 = 2
a = 2
i = 4
for i in range(1,4000000):
Fibonacci1 = Fibonacci1 + Fibonacci2
if Fibonacci1 % 2 == 0:
a = a + Fibonacci1
Fibonacci2 = Fibonacci1 + Fibonacci2
if Fibonacci2 % 2 == 0:
a = a + Fibonacci2
print a
我正在试着写一个程序,它将要求用户输入一个数字。然后我需要验证它是否在fib序列中。
代码:
# asking the user to input number
number = int(input("Enter a number: "))
# creating empty list to be filled
sequence = [0, 1]
x = -2
y = -1
# append items to list
for i in range(number):
x+=2
y+=2
# this code will be executed 'l
今天是我与Swift的第一天,我遇到了一个问题。我使用rand生成一个随机数,但每次运行代码时,它都会给出相同的结果。
main.swift:
import Foundation
var player = Player()
for _ in 1..6 {
println(player.kick())
}
player.swift:
import Foundation
class Player {
var health = 25
var xp = 15
var upgrades = ["kick": 0, "punch": 0
我对Ocaml比较陌生,我认为我对展开函数的理解是正确的,但我只是不知道如何使用它来生成fibonacci序列。我们不需要有最后两个值的holder变量才能找到当前的值吗?我们非常感谢所有的帮助。我正在添加下面的展开函数以供参考。
let rec unfold (f: 'seed -> ('a * 'seed)) (stop : 'b -> bool) (b :'seed) : 'a list =
if stop b then []
else
let x, b' = f b in
x :: (unfold f st
我有fibonacci序列的代码:
public class Fibonacci {
private List<Integer> fibonacci;
public void fillFibonacci(){
fibonacci = new ArrayList<>();
int n1 = 1 , n2 = 1 , n3;
fibonacci.add(n1);
fibonacci.add(n2);
for(int i = 2 ; i < 4000 ; i ++){
我想要并行化Fibonacci函数的递归调用。我该怎么做呢?这个程序不仅仅是计算斐波纳契数。
#include <stdio.h>
int fibonacci(int n);
int ze = 0, on=0;
int main() {
int i, T, N[41];
scanf("%d", &T);
if (T < 1 || T > 50)
return 0;
for (i = 0; i < T; i++) {
scanf("%d", &N
tl:dr;我如何生成一个随机数,因为书中的方法每次都选择相同的数字。
这似乎是Swift根据苹果发布的书生成随机数的方法。
protocol RandomNumberGenerator {
func random() -> Double
}
class LinearCongruentialGenerator: RandomNumberGenerator {
var lastRandom = 42.0
let m = 139968.0
let a = 3877.0
let c = 29573.0
func random() -> Do
这是我在缩短代码时遇到的问题。我目前是Python3.x的初学者。
from os import system
def fibonacci(terms):
count = 0
x = 0
y = 1
z = x + y
if terms <= 0:
print("Enter a positive integer.")
elif terms == 1:
print("Fibonacci sequence in " + str(terms) + " terms."
我需要创建一个返回fibonacci系列中的第n个整数的方法,我编写(编辑)的代码不能工作,谁能在for循环部分指导我。我需要使用webform并将fibonacci系列返回到特定点。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
{
public partial class Default : System.Web.UI.Page
{
我复制了别人在教程论坛上编写的python程序的源代码,并对其进行了一些修改以满足我自己的需要。
我相信原来的代码是在python shell中运行的,我让它在shell中运行,但我需要将它保存到python IDLE中,然后从那里运行它。
我使用的是python 3.2.3 IDLE btw,这是我写的:
def fibonacci(previous=0,current=1):
n = int(input("Calculate fibonacci sequence value up to: "))
if previous > current:
我正在尝试使用C++来解决斐波纳契数,但是当输出数字限制与大数交叉时,我的代码显示为负数。
#include<stdio.h>
#include<iostream>
using namespace std;
int64_t get_fibonacci_last_digit_naive(int n)
{
int64_t a = 0, c, i;
int64_t b = 1;
if (n == 0)
return (a);
for (i = 2; i <= n; i++)
{
所以我要做的是向用户询问一个数字,并找出它的fibonacci术语是什么。到目前为止,如果输入整数0 <=,则返回正确的fibonacci项。但是当我尝试使用负数时,我会得到一个错误。
代码:
public int fib(int n) {
if (n == 0 || n == 1 || n == -1) {
// if n is 1, 0 or -1
return Math.abs(n);
} else if (n < 0) {
// if n is negative
创建一个程序,找出斐波那契数列中出现的第一个大于1的完美正方形,并将其显示在控制台上。
当我输入输入时,我没有输出。
#include <stdio.h>
#include <math.h>
int PerfectSquare(int n);
int Fibonacci(int n);
main()
{
int i;
int number=0;
int fibNumber=0;
int psNumber=0;
printf("Enter fibonacci number:");
scanf(
我正试图解决Euler项目的第二个问题。问题如下:
Fibonacci序列中的每个新项都是通过添加前两个项来生成的。从1和2开始,前10项将是:1、2、3、5、8、13、21、34、55、89、.通过考虑Fibonacci序列中值不超过400万的项,找出偶数项的和。
我想我已经写了一个解决方案,但是当我试图运行我的代码时,它会让我的Swift操场崩溃,并给出以下错误消息:
操场执行中止:执行被中断,原因: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,subcode=0x0)
var prev = 0
var next = 1
var num
好的,我已经想出了如何使序列结果成一行,现在我必须添加一个str.
以下是预期的产出:
输入n: 10
斐波那契数=1 1 2 3 5 8 13 21 34 55
这是我的代码:
n = input("Enter n: ")
def fib(n):
cur = 1
old = 1
i = 1
while (i < n):
cur, old, i = cur+old, cur, i+1
return cur
for i in range(10):
print("Fibonacci numbers =
从评论中我最感兴趣的是:
代码的性能
全面审查代码结构、样式规则和命名约定。
问题:2
通过考虑Fibonacci序列中值不超过400万的项,找出偶数项的和。
import math
import itertools
#----------------------------------------------------------------------------------
def calc_fibonacci_num(n):
"""Calculates the fibonacci number at the given index.
Argu
我正在尝试写一个斐波那契序列,它可以把用户的输入作为兔子世代增长的乘数,即每对成熟的兔子产生4对后代。
我已经尝试将输入的整数形式存储在一个新变量中,并在询问原始输入时移动位置:
def fibonacci(x):
if x == 1:
rabbit_pairs = 1
return rabbit_pairs
elif x == 2:
rabbit_pairs = 1
return rabbit_pairs
elif x > 2:
y = int(input("How many
我目前正在研究项目Euler问题#2,它要求您打印4百万以下的所有fibonacci数之和。
我最近才了解到生成器,根据我的理解,它们是用来通过动态生成值来减少内存消耗的(而不是存储在一个庞大的列表中)。
当在for循环中使用时,这是否仍然有效,还是只生成所有的值,将它们存储在一个列表中,然后遍历它们?
for n in some_generator(): pass
在我的具体案例中,代码如下所示:
def fibonacci(n): # yields all fibonacci numbers below n
second_last_n = 0
last_n = 1
此代码应打印Fibonacci序列的前十个数字中的偶数和。
#Creates a list with the first ten Fibonacci numbers.
l = [1,2]
for i in range(10):
l.append(l[i]+l[i+1])
for i in l:
#If an element of the Fibonacci list is uneven, replace it with zero.
if l[i]%2 != 0:
l[i] = 0
#Print the sum of the list with al
我在工作中学习Perl,并且很享受它。我通常用Python完成工作,但老板需要Perl。
Python和Perl中的大多数概念都很好地匹配: Python dictionary=Perl散列;Python tuple=Perl列表;Python list=Perl数组;等等。
问:有没有 /生成器的Python形式的Perl版本?
例如:生成斐波那契数的经典Python方法是:
#!/usr/bin/python
def fibonacci(mag):
a, b = 0, 1
while a<=10**mag:
yield a
a
我在试着解决。这是我到目前为止所得到的:
def fibonacci(length):
fibs = [0,1]
while length > len(fibs):
fibs.append(fibs[-1] + fibs[-2])
return fibs
fibs = fibonacci(5000)
for i in fibs:
if len(str(i)) > 1000:
print i
## The location of the number in the Fibonacci
可能重复:
有人能在下面的代码中向我解释收益语句的实际作用吗:
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a+b
关于fibonacci()中的数字:#使用生成器作为迭代器;打印编号
到目前为止,我所理解的是,我们正在定义一个没有参数的函数finonacci()?在函数中,我们定义了a和b,分别等于0和1,接下来,虽然这是真的,但是我们正在生成a。这到底是在做什么?此外,虽然产生a?a现在等于b,而b现在等于a + b。
下一个问题,对于fibonac