Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи. Пример решения.
Решены задачи: 3, 8-10. Не решены: 1-2, 4-7.
Задачи
C4.1. Последовательность Фибоначчи образуется так: первый и второй члены последовательности равны 1, каждый следующий равен сумме двух предыдущих (1, 1, 2, 3, 5, 8, 13, …). Дано натуральное число n (n > 3).
а) Найти k-й член последовательности Фибоначчи.
б) Получить первые n членов последовательности Фибоначчи.
в) Верно ли, что сумма первых n членов последовательности Фибоначчи есть четное число?
C4.2. Рассмотрим последовательность, образованную дробями: 1/1, 2/1, 3/2, …, в которой числитель (знаменатель) следующего члена последовательности получается сложением числителей (знаменателей) двух предыдущих членов. Числители двух первых дробей равны 1 и 2, знаменатели — 1 и 1.
а) Найти k-й член этой последовательности.
б) Получить первые n членов этой последовательности.
в) Верно ли, что сумма первых n членов этой последовательности больше числа А?
C4.3. Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько клеток будет через 3, 6, 9, …, 24 часа, если первоначально была одна амеба.
C4.4. Гражданин 1 марта открыл счет в банке, вложив 1000 руб. Через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы. Определить:
а) прирост суммы вклада за первый, второй, …, десятый месяц;
б) сумму вклада через три, четыре, …, двенадцать месяцев.
C4.5. Начав тренировки, лыжник в первый день пробежал 10 км. Каждый следующий день он увеличивал пробег на 10% от пробега предыдущего дня. Определить:
а) пробег лыжника за второй, третий, …, десятый день тренировок;
б) какой суммарный путь он пробежал за первые 7 дней тренировок.
C4.6. В некотором году (назовем его условно первым) на участке в 100 гектаров средняя урожайность ячменя составила 20 центнеров с гектара. После этого каждый год площадь участка увеличивалась на 5%, а средняя урожайность — на 2%. Определить:
а) урожайность за второй, третий, …, восьмой год;
б) площадь участка в четвертый, пятый, …, седьмой год;
в) какой урожай будет собран за первые шесть лет.
C4.7. Определить суммарный объем в литрах двенадцати вложенных друг в друга шаров со стенками толщиной 5 мм. Внутренний диаметр внутреннего шара равен 10 см. Принять, что шары вкладываются друг в друга без зазоров.
C4.8. Найти сумму 22 + 23 + 24 + … + 210. Операцию возведения в степень не использовать.
C4.9. Дано вещественное число а и натуральное число n. Вычислить значения a1, a2, a3, …, an. Операцию возведения в степень не использовать.
C4.10. Найти сумму: -12 + 22 — 32 + 42 — … + 102. Условный оператор не использовать.
NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.
//C4.5
double km = 10;
int day = 0;
int procent = 10;
double summa = 0;
for(int i = 0; i < 11; i++)
{
if (i > 0)
{
day = i;
km += km / procent;
summa += 10 + km / procent;
}
Console.WriteLine($»за {day} день лыжник прошел {km.ToString(«0.00″)} км»);
}
Console.WriteLine($»сумма км за все дни {summa.ToString(«0.00″)}» );
поправка
Console.WriteLine($»за {day+1} день лыжник прошел {km.ToString(«0.00″)} км»);
//С4.3
int ameba = 1;
for (int i = 0; i <=24; i+=3)
{
if (i == 0)
{
ameba = 1;
Console.WriteLine($»изначально амеба {ameba} потому что прошло {i} часов»);
}
if (i > 0)
{
ameba *= 2;
Console.WriteLine($»за {i} часа появилось {ameba} амеб»);
}
}
//C4.2
double i = 1; double j = 1;
while(i<=10)
{
Console.WriteLine($»{i}/{j}={i/j}»);
if (i > 1)
j++;
i++;
}
//C4.7
//Число П я округлили до целового значения, поэтому П=3.Обьем равен по формуле: V=R^3*4.
int i = 1; int n = 12;
double R = 10.5, V = 4 * Math.Pow(R, 3);
while(i<=n)
{
Console.WriteLine($»Шар:{i}. R = {R}. Общ.ОбЪем:{Math.Round(V,1)}. Объем шара:{Math.Round((4 * Math.Pow(R, 3)), 1)}»);
R += 0.5;
V+= 4 * Math.Pow(R, 3);
i++;
}
//C4.6
double c=10, y=0, maxy=10,s=100,plod = 20,plod_1=0,s_1 = 0;
while(y<=maxy)
{
Console.WriteLine($»Год:{y}. Общая урожайность:{Math.Round(plod,2)}. Прирост урожая:{Math.Round(plod_1,2)}.\nОбщая площадь:{Math.Round(s, 2)}. Прирост площади:{Math.Round(s_1, 2)}.»);
plod_1 = plod * 0.02;
s_1 = s * 0.05;
s += s * 0.05;
plod += plod * 0.02;
y++;
}
//C4.5
double c=10, days=1, maxd=10,x=0;
while(days<=maxd)
{
Console.WriteLine($»День:{days}. Добавлено расстояние:{Math.Round(x,2)}км. Общее расстояние{Math.Round(c,2)}км.»);
x = c / 10;
c += c * 0.1;
days++;
}
//C4.3
int s,m,h=0; int c = 1;
int i = 24, n = 0;
while (h < i )
{
h = n / 3600;
m = (n % 3600) / 60;
s = n % 60;
n++;
if ( n % 10800 == 0)
{ c *= 2; }
Console.WriteLine($»{h}:{m}:{s}. Количество амеб:{c}»);
//C4.8
double c=0,x=2;
double i =1, n = Convert.ToDouble(Console.ReadLine());
while (i <=n )
{
x = x * 2;
c = c + x;
Console.WriteLine($»{i}…{c-x}+{x/2}*{2}={c}»);
i++;
}
//C4.10
double c=0;
double i =0, n = Convert.ToDouble(Console.ReadLine());
while (i <=n )
{
Console.WriteLine($»{c}+({-Math.Pow((i + 1), 2)})+{Math.Pow((i + 2), 2)}={c — Math.Pow((i + 1), 2) + Math.Pow((i + 2), 2)}»);
c = c — Math.Pow((i+1),2) + Math.Pow((i+2),2);
i += 2;
}
//C4.10
double c=0;
double i =2, n = Convert.ToDouble(Console.ReadLine());
while (i <=n )
{
Console.WriteLine($»{c}+({-Math.Pow((i -1), 2)})+{Math.Pow(i , 2)}={c — Math.Pow((i — 1), 2) + Math.Pow(i, 2)}»);
c = c — Math.Pow((i-1),2) + Math.Pow(i,2);
i += 2;
}
C4.1
class Program
{
static void Main()
{
double c=1,x=1;
double i =1, n = Convert.ToDouble(Console.ReadLine());
while (i <=n )
{
c = c + x;
x = c — x;
i++;
Console.WriteLine($»{c-x}+{x}={c}»);
}
}
}
}
{
// C4.4. Гражданин 1 марта открыл счет в банке, вложив 1000 руб.
// Через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы. Определить:
//а) прирост суммы вклада за первый, второй, …, десятый месяц;
//б) сумму вклада через три, четыре, …, двенадцать месяцев.
double polozhil = 1000;
double vklad;
double viruchka;
int mesjac = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(«Vi polozhili 1000 euro.Через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы.»);
for (int schet = 0; schet <= mesjac; schet++)
{
vklad = polozhil;
viruchka = vklad — 1000;
Console.WriteLine(vklad +» «+viruchka);
polozhil *= 1.02;
}
}
{
// C4.3. Одноклеточная амеба каждые 3 часа делится на 2 клетки.
// Определить, сколько клеток будет через 3, 6, 9, 12, 15,18,21, 24 часа, если первоначально была одна амеба.
int a1 = 1, a2;
for (int i = 3; i <= 24; i+=3)
{
a2 = a1 * 2;
Console.WriteLine(i +» = «+a2);
a1 = a2;
}
{
// C4.1. Последовательность Фибоначчи образуется так: первый и второй члены последовательности равны 1,
// каждый следующий равен сумме двух предыдущих (1, 1, 2, 3, 5, 8, 13, …). Дано натуральное число n (n > 3).
//а) Найти k-й член последовательности Фибоначчи.
//б) Получить первые n членов последовательности Фибоначчи.
//в) Верно ли, что сумма первых n членов последовательности Фибоначчи есть четное число ?
Console.WriteLine(» Последовательность Фибоначчи : каждый следующий равен сумме двух предыдущих (1, 1, 2, 3, 5, 8, 13, …)»);
Console.WriteLine(«VVedite n ( n >3)»);
int n = Convert.ToInt32(Console.ReadLine());
int a1 = 1, a2 = 1, a3;
for (int i = 1; i <= n; i++)
{
a3 = a1 + a2;
Console.WriteLine(a1 + » + » + a2 + » = » + a3);
a1 = a2;
a2 = a3;
}
}
{
// C4.2. Рассмотрим последовательность, образованную дробями: 1/1, 2/1, 3/2, …, в которой числитель (знаменатель)
// следующего члена последовательности получается сложением числителей (знаменателей) двух предыдущих членов.
// Числители двух первых дробей равны 1 и 2, знаменатели — 1 и 1.
// а) Найти k-й член этой последовательности.
// б) Получить первые n членов этой последовательности.
//в) Верно ли, что сумма первых n членов этой последовательности больше числа А?
Console.WriteLine(«VVedite n ( n >3)»);
int n = Convert.ToInt32(Console.ReadLine());
int a1 = 1, a2 = 2 , a3;
int b1 = 1, b2 = 1 , b3;
Console.WriteLine(a1 + «/» + b1 +» , «+a2+»/»+b2);
for (int i = 1; i <= n; i++)
{
a3 = a1 + a2;
b3 = b1 + b2;
Console.WriteLine(a3 + «/» + b3);
a1 = a2;
a2 = a3;
b1 = b2;
b2 = b3;
}
}
C4.8
int a = 2;
int b = 0;
for(int i = 2; i < 11; i++){
a = a * 2;
b = a + b;
}
Console.WriteLine(b);
C4
C4.1. Последовательность Фибоначчи образуется так: первый и второй члены последовательности равны 1, каждый следующий равен сумме двух предыдущих (1, 1, 2, 3, 5, 8, 13, …). Дано натуральное число n (n > 3).
а) Найти k-й член последовательности Фибоначчи.
б) Получить первые n членов последовательности Фибоначчи.
в) Верно ли, что сумма первых n членов последовательности Фибоначчи есть четное число?
static void Main()
{
Title = «Последовательность Фибоначчи.»;
int a1 = 1, a2 = 1, a3;
Write(«Ввод n —> «);
int n = int.Parse(ReadLine() ?? string.Empty);
WriteLine();
WriteLine(«a1 = {0}\na2 = {1}», a1, a2);// Вывод известных членов последовательности.
for (int i = 3; i <= n; i++)
{
a3 = a1 + a2;
Thread.Sleep(100);
WriteLine(«a{0} = {1}», i, a3);
a1 = a2;
a2 = a3;
}
ReadKey();
}
C4.5. Начав тренировки, лыжник в первый день пробежал 10 км. Каждый следующий день он увеличивал пробег на 10% от пробега предыдущего дня. Определить:
а) пробег лыжника за второй, третий, …, десятый день тренировок;
б) какой суммарный путь он пробежал за первые 7 дней тренировок.
Алексей В, направление верное, но:
— случай А не верен;
— не объявляйте несколько переменных в одной строке;
— подумайте над более понятными именами для удобочитаемости; у вас в коде ошибки именно потому, что код плохо читаем даже для вас.
C4.1. Последовательность Фибоначчи образуется так: первый и второй члены последовательности равны 1, каждый следующий равен сумме двух предыдущих (1, 1, 2, 3, 5, 8, 13, …). Дано натуральное число n (n > 3).
а) Найти k-й член последовательности Фибоначчи.
б) Получить первые n членов последовательности Фибоначчи.
в) Верно ли, что сумма первых n членов последовательности Фибоначчи есть четное число?
Простое решение:
Кирилл! Верно. Если n и/или k равны 1 или 2, то программа не нужна. При n > 2 номер k должен быть <= n. Можно ли записать решение, не используя массив? В этом суть рекуррентных соотношений!
Задачи С4.1 — С4.7. Две первые с применением массивов (кажется мне, что это точнее соответствует постановке задачи — получить, т.е. вычислить и сохранить), остальные без (только вычисление и вывод на экран).
Коллеги! Протестируйте решения Эда, напишите комментарии.
C 4.9 Дано вещественное число а и натуральное число n. a1, a2, a3, …, an. Операцию возведения в степень не использовать.
SWEEETY, исправил ошибку!
Рекуррентное соотношение означает: r(n) = r(n-1) * a; и r(0)=1.
C4.10. Найти сумму: -12 + 22 — 32 + 42 — … + 102. Условный оператор не использовать.
Более короткий вариант:
C4.3. Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько клеток будет через 3, 6, 9, …, 24 часа, если первоначально была одна амеба.
Без условного оператора будет проще так:
Задача С4.8. Пример решения:
Ответ: Сумма = 2044.
Я чутка не понял эти задачи нужно решать с помощью рекурсии или циклов?
Илья! Сначала с помощью цикла. Если сможете — запишите с использованием рекурсии.