Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2012, 11:29   #1
Aaaaaa111
Заблокирован
 
Регистрация: 13.02.2012
Сообщений: 22
По умолчанию Легкая для вас задача в С++

Верно ли, что сумма первых n членов последовательности Фибоначчи есть четное число?
Если не сложно напишите код
Aaaaaa111 вне форума Ответить с цитированием
Старый 18.02.2012, 20:26   #2
zaural
Пользователь
 
Аватар для zaural
 
Регистрация: 16.02.2012
Сообщений: 15
По умолчанию

Есть решение на Java. Алгоритм "простой и примитивный". Надеюсь поможет.
Код:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fibonachi;

/**
 *
 * @author User
 */
public class Fibonachi {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int n=20,a=1,b=1,sum=2;
        int i;
        System.out.println("Числа Фибоначчи");
        System.out.print(a+" "+b);
        for (i=3;i<=n;i++)
        {
            b=a+b;
            a=b-a;
            sum=sum+b;
            System.out.print(" "+b);
        }
        if (sum%2==0)
        {
            System.out.println("Четная сумма");
        }
        else
        {
            System.out.println("Нечетная сумма");
        }
    }
}
zaural вне форума Ответить с цитированием
Старый 18.02.2012, 20:49   #3
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Вот на С (не знаю, правильно ли я решила):
Код:
#include <iostream>
using namespace std;
__int64 Fibonachi(int n)
{
	__int64 *arr, summ=0;;
	arr=new __int64[n];
	for(int i=0;i<n;i++)
	{
		if(i<2)arr[i]=i;
		else
			arr[i]=arr[i-1]+arr[i-2];
		cout<<arr[i]<<' ';
		summ+=arr[i];
	}
	cout<<endl<<summ<<endl;
	return summ;
}
void main()
{
	int n;
	cin>>n;
	Fibonachi(n);
}
rmv240899 вне форума Ответить с цитированием
Старый 19.02.2012, 10:00   #4
zaural
Пользователь
 
Аватар для zaural
 
Регистрация: 16.02.2012
Сообщений: 15
По умолчанию

Вот тот же код, что писал на Java, но уже на C++.
Код:
#include <iostream.h>

int main()
{
	int a=1;
	int b=1;
	int i,n;
	int sum=2;
	cout<<"Please n \n";
		cin>>n;
	cout<<"Fib \n";
	cout<<" "<<a<<" "<<b;
        for (i=3;i<=n;i++)
        {
            b=a+b;
            a=b-a;
            sum=sum+b;
            cout<<" "<<b;
        }
        if (sum%2==0)
        {
            cout<<"Yes";
        }
        else
        {
            cout<<"No";
        }
		return 0;
}
zaural вне форума Ответить с цитированием
Старый 19.02.2012, 10:22   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Есть приёмы определения чётности. Если последняя цифра делится на 2 без остатка, число - чётное, если с остатком - нечётное. И это относится не только к числам Фибоначчи, а к числам вообще.
Цитата:
Верно ли, что сумма первых n членов
Каких n? Последовательность Фибоначчи, это частный случай последовательностей, вообще. Сообщите, хотя-бы, да какого предела.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 19.02.2012 в 10:29.
Smitt&Wesson вне форума Ответить с цитированием
Старый 19.02.2012, 16:07   #6
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Код:
bool f(int N){
	if(N%3==2)
		return false; // не четная сумма
	return true; //четная
}
Вот функция определяющая четность суммы первых N чисел Фибоначчи.
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 19.02.2012, 17:12   #7
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Цитата:
Каких n?
Ну дык все правильно - юзер вводит, допустим, 5. Значит, надо найти сумму последовательности 5 чисел Фибоначчи. Т.е. сумму чисел последовательности 0, 1, 1, 2, 3
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Легкая задача в С++, найдите ошибку в коде Aaaaaa111 Помощь студентам 11 15.02.2012 12:46
легкая задача на реализацию videolord Общие вопросы C/C++ 4 18.12.2011 16:02
задача не самая легкая Arinca Паскаль, Turbo Pascal, PascalABC.NET 0 17.04.2011 22:25
Помогите легкая задача?но не выходит ulyanich Microsoft Office Excel 1 24.12.2009 13:06
легкая задача vAdiM_Kubski Паскаль, Turbo Pascal, PascalABC.NET 2 25.09.2009 22:49