Вычислить сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М - C (СИ)

  1. Здравствуйте, в программировании не очень силен. Поэтому прошу помочь найти недочеты в коде. Программа должна вычислять сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М. Через цикл while.C1 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 #include <stdio.h> #include <math.h> #include <locale.h> #include <conio.h> int f0; int f1; int f2; int M; int main() {  setlocale(LC_ALL,"Russian");    { printf("Вычислите сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М. \n"); printf("Введите число M-");      scanf("%d",&M); f0=0; f1=1; while(f2<M) {     int f2=f0+f1;     f0=f1;     f1=f2; }   printf("Сумма чисел Фибоначчи, меньше M=%d",f2); } return 0 }


textual

Код к задаче: «Вычислить сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М - C (СИ)»

#include <stdio.h>
 
int main(int argc, char *argv[])
{
    int f0 = 0;
    int f1 = 1;
    int sum = 0;
    int f2,M;
 
    printf("Вычислите сумму ...\n");
    printf("Введите число М:\n? ");
    scanf("%d", &M);
 
    while (f1 <= M) {
        sum += f1;
        f2 = f0 + f1;
 
        f0 = f1;
        f1 = f2;
    }
 
    printf("\nСумма равна: %d\n", sum);
 
    return 0;
}

СДЕЛАЙТЕ РЕПОСТ

13   голосов, оценка 4.077 из 5



Похожие ответы
  1. Найти сумму компонент вектора X, удовлетворяющих условию 2

  1. Всем привет, помогите пожалуйста решить задачу Задание: Написать программу для расчета по двум формулам. Результат вычисления по первой формуле должен совпадать со второй. Использовать операции потокового ввода-вывода.

  1. Назначение: вычисляет десятичное значение целого числа по заданной строке символов s, который является записью этого числа в двоичной системе счисления. Постановка задачи В соответствии с вариантом задания составить функцию для обработки символьных строк и программу для проверки работоспособности функции. За образец можно брать библиотечные функции обработки строк языка С, но не использовать их в своей функции. При выполнении 1-го задания необходимо: 1. Строки для тестирования функции вводить в главной программе с клавиатуры. 2. Предусмотреть обработку ошибок в задании параметров и особые случаи. 3. Разработать два варианта заданной функции с использованием: а) индексированных массивов; б) указателей.

  1. Я написала программу с двумя элементами ввода массивов, но результат выводит не неверный и после выбора ручного ввода программа вылетает. Помогите пожалуйстаC1 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 #include #include #include #include #include #include #define N 500 #define MIN 80 int main(void) { setlocale (0, "rus"); int a[N],n,i, min=a[0], nummin=0, sum=0, nol=0, k; srand((unsigned)time(NULL)); printf ( " Определите характер заполнения: 1- автоматическое, 2- вручную"); printf("\n"); scanf("%d",&k);   switch(k) { case 1: { printf("vvedite n - "); scanf("%d",&n); for (i=0; ia[i])           {               printf("\n");               min=a[i];              nummin=i;}         for (i=nummin+1; i

  1. Помогите пожалуйста. Использовать стандартные функции и арифметические операторы; изучить операторы отношения и присваивания, логические операции, условный оператор и оператор-переключатель; научиться использовать в программах операторы цикла. Написать программы на изученные темы. Для заданного x вычислить значение функции y=ctg x , где x (0, 2 )

  1. Не понимаю как работать с строками... У меня есть задача... Во входной строке записаны целые числа через запятую. Найдите их сумму. ВХОДНЫЕ ДАННЫЕ Программа получает на вход строку, содержащую цифры, знаки +/- и запятые. Необходимо разбить эту строку по запятым на числа и вычислить их сумму. Длина строки не превосходит 1000 символов. Строка содержит хотя бы одно число, начинается и заканчивается не с запятой, никакие две запятые не идут подряд. Между двумя соседними запятыми записано корректное целое число, не превосходящее по модулю 106106, которое может начинаться со знака "+" или "-".Ввод: 12,-5,+8 Вывод: 15 Получилось только так... но это неправильно (условие задачи совсем другое) C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include   using namespace std;   int main(){     string str;     int sum = 0;     cin >> str;     cout << endl;     for(int i = 0; i < str.length(); i++){         if (str[i] == ',')         {             i++;         }         sum += (int)str[i] - 48;     }     cout << sum << endl;       return 0;     }

  1. Написать программу для подсчета суммы мест, на которых в словах текста стоит заданная буква.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include int j, sum,a; char s, c; main() {     printf("Vvedite text", s);     scanf("%d", &s);     printf("vvedite bukvu iz texta", c);     scanf("%d", &c);     sum=0;     printf("mesta na kotorix v slovax stoit eta bukva:");     for(j=1; a=strlen(s);)     {         if(s[j]=c)         sum=sum+j;     printf(j,"");     }   printf(""); printf("summa mest na kotorix stoit eta bukva=", sum); }

  1. Все Работает если вводить без пробелов, но с пробелом выводится только первое число, (если можно с кратким объяснением пожалуйста)C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include #include     int main(){       char str[100];     int x = 0;     scanf("%s", str);     for(int i = 0;i < strlen(str);i++)     {         if((str[i] >= '1') && (str[i] <= '9'))         {             x += ((int)str[i] - 48);                     }     }     printf("%d", x);       return 0; }

  1. создать функцию, которая считает сумму элементов стека

  1. по идее программа должна вычислять сумму всех положительных элементов квадратной матрицыC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include #include  main () {int n=3,m=3,a[3][3],i,j,z; z=0; for(i=n;i0) z+=a[i][j]; printf("z=%d\n",&z);} system("pause"); return(0); }