Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 - Лекция4_Циклы.docx
Скачиваний:
7
Добавлен:
16.11.2019
Размер:
59.55 Кб
Скачать

Примеры решения задач

Задача 1. Написать программу, которая принимает с клавиатуры число N и вычисляет сумму 1/20+1/21+1/22+…+1/2N.

#include <stdio.h>

int main() {

int N;

printf("Введите число N:\n");

scanf("%d", &N);

float result = 0;

int denominator = 1;

for (int i=0; i<=N; i++) {

result += (float) 1/denominator;

denominator *= 2;

}

printf("Результат равен %g\n", result);

return 0;

}

Задача 2. Написать программу, которая принимает с клавиатуры число N и выводит N первых членов последовательности Фибоначчи. Последовательность Фибоначчи задается следующими соотношениями: a0=0, a1=1 и an=an-1+an-2. Другими словами, очередной элемент этой последовательности равен сумме двух предыдущих.

#include <stdio.h>

int main() {

int N;

printf("Введите число N:\n");

scanf("%d", &N);

int a0 = 0;

int a1 = 1;

for (int i=0; i<=N; i++) {

int a2 = a0+a1;

printf("%d ", a2);

a0=a1;

a1=a2;

}

return 0;

}

Задача 3. Написать программу, переводит числа из десятичной системы исчисления в семеричную.

#include <stdio.h>

int main() {

int base = 7;

int number = 1000;

while (number > 0) {

printf("%d", number%base);

number/=base;

}

return 0;

}

Задача 4. Написать программу, которая принимает с клавиатуры число N и выводит следующий рисунок размера N:

N=1

N=2

N=3

N=4

*

*

**

*

*

**

***

**

*

*

**

***

****

***

**

*

...

#include <stdio.h>

int main() {

int N;

printf("Введите число N:\n");

scanf("%d", &N);

//Выводим первую половину строк

for (int i=1; i<=N; i++) {

for (int j=1; j<=i; j++) {

printf("*");

}

printf("\n");

}

//Выводим вторую половину строк

for (int i=N-1; i>=1; i--) {

for (int j=1; j<=i; j++) {

printf("*");

}

printf("\n");

}

return 0;

}

Задача 5. Написать программу, которая принимает с клавиатуры число N и выводит следующий рисунок размера N:

N=1

N=2

N=3

N=4

*

***

*

*****

* *

*

*******

* *

* *

*

...

int main() {

int N = 3;

//Количество звездочек в первой строке

int k = 2*N-1;

//Количество строк в треугольнике

int l = N-2;

//Количество пробелов перед последней *

int m = N-1;

for (int i=0; i<k; i++) {

printf("*");

}

printf("\n");

for (int i=0; i<l; i++) {

for (int j=0; j<i+1; j++) {

printf(" ");

}

printf("*");

for (int j=2*(N-i)-5; j>0; j--) {

printf(" ");

}

printf("*\n");

}

for (int i=0; i<m; i++) {

printf(" ");

}

printf("*\n");

return 0;

}