Другие языки программирования и технологии
Найти число Фибоначчи, ближайшее к заданному натуральному числу N. (программирование в языке Си)
(программирование в языке Си)
#include <math.h>
#include <stdio.h>
#include <conio.h>
int main() {
int n, prev = 0, current = 1, fib = 0, min, x = 0;
printf("n?.. ");
scanf_s("%i", &n);
min = n;
do {
fib = prev + current;
if (abs(n - fib) < min) {
min = abs(n - fib);
x = fib;
}
current = prev;
prev = fib;
} while (fib < n);
printf("min = %i\n", x);
_getch();
return 0;
}
#include <stdio.h>
#include <conio.h>
int main() {
int n, prev = 0, current = 1, fib = 0, min, x = 0;
printf("n?.. ");
scanf_s("%i", &n);
min = n;
do {
fib = prev + current;
if (abs(n - fib) < min) {
min = abs(n - fib);
x = fib;
}
current = prev;
prev = fib;
} while (fib < n);
printf("min = %i\n", x);
_getch();
return 0;
}
Сия функция по идее должна найти число меньше заданного:
int fibo(int n)
{
int a=1;
int b=1;
int c=2;
while (c < n)
{
c=a+b;
a:=b;
b:=c;
}
return c-a;
}
Может где напутал чуток - 100 лет на С не писал - но совсем малость.
Ну а дальше все как бы тривиально...
int fibo(int n)
{
int a=1;
int b=1;
int c=2;
while (c < n)
{
c=a+b;
a:=b;
b:=c;
}
return c-a;
}
Может где напутал чуток - 100 лет на С не писал - но совсем малость.
Ну а дальше все как бы тривиально...
#include <stdio.h>
int main() {
int a = 0, b = 1, n;
printf("n? ");
scanf("%d", &n);
while (b < n) {
b += a;
a = b - a;
}
printf("result: %d", b - n > n - a? a : b);
return 0;
}
int main() {
int a = 0, b = 1, n;
printf("n? ");
scanf("%d", &n);
while (b < n) {
b += a;
a = b - a;
}
printf("result: %d", b - n > n - a? a : b);
return 0;
}
Рекурсивные функции, дружочек!
Если они там есть..
Если они там есть..
Похожие вопросы
- Программирование на языке СИ с использованием подпрограммы-функции
- какую программу лучше использовать для программирования на языке Си?
- Программирование на языке Си. Нужна небольшая помощь.
- программирование на языке си
- Дано натуральное число п. Найти знакочередующуюся сумму цифр числа n:
- Найти все натуральные числа, не превосходящие заданного числа n, которые делятся на каждую из своих цифр. Паскаль.
- Даны натуральные числа N и A1,…, AN. Образовать новые одномерные последовательности B1, …, BN и C1, …, CN
- Паскаль. Представить натуральное число n в виде суммы трёх квадратов натуральных чисел.
- как решить через abc pascal задачу "Дано натуральное число n. Получить все простые делители этого числа"
- Требуется напечатать разложение заданного числа n на простые множители.