Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

объсните принцип работы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатели http://www.cyberforum.ru/cpp-beginners/thread193519.html
С одномерным массивом, состоящим из n вещественных элементов, вы-полнить следующее: Преобразовать массив таким образом, чтобы сначала располагались все эле-менты, целая часть которых не превышает 1,...
C++ Вывод номера первого максимального числа в массиве надо вывести номера первого максимального числа в массиве. Вот мой void _257() { srand(time(0)); const int n=10; int j=0,max=0; int x={0},y={0}; cout<<"INPUT X"<<endl; for(int... http://www.cyberforum.ru/cpp-beginners/thread193516.html
C++ Даны натуральное число n
Кто может решить. Даны натуральное число n,действительные числа X1,...,Xn.Вычислить: (X1+X2+2Xn)(X2+X3+2Xn-1)...(Xn-1+Xn+X2) Язык СИ
C++ Ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове.
Ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове. Заранее спасибо
C++ Передача данных через указатель http://www.cyberforum.ru/cpp-beginners/thread193491.html
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string> #include <fstream> #include "func.h" #include <conio.h> using namespace std;
C++ Найти наименьший элемент двумерного массива и ко. Известно количество студентов в каждой из шести групп каждого курса института (см. рис.): Курс/Группа 1 2 3 4 5 6 1 2 3 4 5 подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.11.2010, 15:51
Попробую объяснить сам алгоритм:

Цитата Сообщение от Antoniy777 Посмотреть сообщение
Пояснение к примеру
Если в первый год положить 5 монет, а во второй год вынуть 3 монеты, то начиная с первого года в сундуке будет 5, 2, 7, 9, 16, 25, ... монет.
Сначало у нас есть число x и число y (в данном случае это 5 и 2).
x+y= 1x+1y
Далее числа будут такие:
x+y+y= 1x+2y
x+y+y+x+y= 2x+3y
x+y+y+x+y+x+y+y= 3x+5y
x+y+y+x+y+x+y+y+x+y+y+x+y= 5x+8y
и т.д. (посмотрите как изменяется коэффиценты у x и y по годам)
Вот зачем здесь нужны числа Фибоначчи.
Здесь вычисляются два числа Фибоначчи, которые будут соответствовать коээфициентам перед x и y:
C++
1
2
3
4
5
6
           while(--Year)
        {
                int tmp=Cx+Cy;
                Cx=Cy;
                Cy=tmp;
        }
А здесЬ:
C++
1
2
3
4
5
6
7
           do 
        {
                int numerator=Y-y*Cy;
                x=numerator/Cx;
                if(numerator%Cx)continue;
                out<<x<<' '<<y<<endl;
        } while (y++<=x);
просто идет подбор y (начиная с 0), и проверяется может ли при таком y существовать x.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru