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

Вывести первые 100 чисел Фиббоначи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Получить все трехзначные натуральные числа, сумма цифр которых равна m http://www.cyberforum.ru/cpp-beginners/thread672302.html
var m, n, s, i: integer; begin write('Введите m (m<27): '); readln(m); for i:= 100 to 999 do begin s:= 0; n:= i; while n>0 do begin
C++ Выборка из простенькой бд Добрый день! Собственно в 2 файла заливаются записи, имея запрос с m_strSEARCH надо вытащить остальные с условием..вроде ок, но почему то в последней части вываливается только первая из нужных ( С циклом что то не так? int CIndex::poisk_ind(CString kl,int i,int& nomer) { while (i<kol) { if (index.kluch!="") http://www.cyberforum.ru/cpp-beginners/thread672295.html
Перегрузка операторов с использованием функций-членов и укозателя *this C++
Из учебника я узнал, то что функция перегрузки операторов вызывается когда компилятор встретит выражение - c = a + b; затем b - передается как аргумент (явно), a - передается как аргумент (не явно) спомощью укозателя this. Где и происходит операция сложения двух объеттов. пример: //Здесь класс myClass myClass myClass::operator+(myClass ob){ myClass temp; temp.n = n + ob.n; //n...
C++ Перевести код видеоплеера с C#
Народ, если есть кто шарит и в С# И в C++ Подгоните этот код под C++ Нада! using System; using System.Windows.Forms;-это стандартные библиотеки(нетрогайте) using Microsoft.DirectX.AudioVideoPlayback;-подключите эту библиотеку. namespace aviWinForm //имя проигрывателя { public partial class Form1 : Form {
C++ длина вектора http://www.cyberforum.ru/cpp-beginners/thread672245.html
Переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае A, B Вычисление длины вектора оформить в виде функции.
C++ Найти среднее арифметическое положительных элементов каждой строки матрицы и вывести результаты в виде столбца. A Найти среднее арифметическое положительных элементов каждой строки матрицы и вывести результаты в виде столбца. подробнее

Показать сообщение отдельно
Catstail
Модератор
22309 / 10714 / 1742
Регистрация: 12.02.2012
Сообщений: 17,787
16.10.2012, 20:45     Вывести первые 100 чисел Фиббоначи
Вот точное решение:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream.h>
 
// сложить 100-разрядные целые
 
void longAdd(char *a, char *b, char *c)
{
    int i,sh=0,aa,bb,cc;
    
    for (i=99; i>=0; i--) c[i]='0';
    for (i=99; i>=0; i--)
    {
 
        aa=a[i]-48;
        bb=b[i]-48;
        cc=aa+bb+sh;
 
        if (cc > 9)
        {
            sh=cc / 10;
            cc=cc % 10;
        }
        else
            sh=0;
 
        c[i]=cc+48;
    }
 
}
 
// Напечатать 100-разрядное целое
 
void longPrint(char *a)
{
    int i,j=0;
    for (i=0; i<= 99 ; i++)
    {
        if ((j == 0) && a[i] != '0') j=-1;
        if (j != 0) cout << a[i];
    }
}
 
int main(int argc, char* argv[])
{
    int i,j;
 
    char F1[100];
    char F2[100];
    char F3[100];
 
    for (i=0; i<=99; i++)
    {
        F1[i]='0';
        F2[i]='0';
    }
 
    F1[99]='1';
    F2[99]='1';
 
    longPrint(F1);
    cout << endl;
 
    longPrint(F2);
    cout << endl;
 
// Собственно, алгоритм...
 
    for (i=2; i<=100; i++)
    {
        longAdd(F1,F2,F3);
        longPrint(F3);
        cout << endl;
 
        for (j=0; j<=99; j++)
        {
            F1[j]=F2[j];
            F2[j]=F3[j];
        }
    }
    
    cout << endl;
 
    return 0;
}
Программа выводит 101 число Фибоначчи (с затравкой 1 1):
Миниатюры
Вывести первые 100 чисел Фиббоначи  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru