double arrow

Лабораторная работа 2.2. Циклы while и do-while


Цель.Получить практические навыки работы с циклами while и do-while.

ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ

Задача 1.Введите строку и выведите её 50 раз.

#include <windows.h>

#include <string>

#include <iostream>

using namespace std;

int main() {

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

string str;

cout << "Введите строку:\n";

cin >>str;

int i=1;

while (i<=50) {

cout << str << endl;

i++;

}

system("pause");

return 0;

}

Задача 2.Напишите программу, которая принимает с клавиатуры число N и вычисляет сумму 1/1+1/4+1/9+…+1/N2.

#include <iostream>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian");

int n;

cout << "Введите n:\n";

cin >> n;

int i=1;

double sum=0;

while (i<=n) {

sum += 1.0/(i*i);

i++;

}

cout << "Сумма=" << sum << endl;

system("pause");

return 0;

}

Задача 3.Введите число и выведите все полные кубы, не превосходящие этого числа. Например, если введено число 130, то программа должна вывести 1, 8, 27, 64, 125.

#include<iostream>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian");

int n;

cout << "Введите n:\n";

cin >> n;

cout << "Полные кубы <= n:\n";

int i=1;

do {

cout << i*i*i << endl;

i++;

} while (i*i*i <= n);

system("pause");

return 0;

}

Задача 4.Введите число и вычислите сумму его цифр.

#include <iostream>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian");

int n;

cout << "Введите число:\n";

cin >> n;

int sum=0;

while (n>0) {

sum += n%10;

n /= 10;

}

cout << "Сумма цифр=" << sum << endl;

system("pause");

return 0;

}

Задача 5.Введите число и проверьте, является ли оно совершенным. Совершенное число – это число, равное сумме своих делителей.

#include<iostream>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian");

int n;

cout << "Введите число:\n";

cin>>n;

int i=1, sum_del=0;

while (i<n) {

if (n%i==0) {

sum_del += i;

}

i++;

}

if (sum_del==n) {

cout<< "Совершенное\n";

} else {

cout<< "Несовершенное\n";

}

system("pause");

return 0;

}

ЗАДАЧИ

Эти задачи следует решать при помощи циклов while или do-while.

1. Напишите программу, выводящую числа от 500 до 1.

2. Напишите программу, которая выводит 500 звёздочек.

3. Введите N и выведите N случайных чисел.

4. Введите N и выведите числа от N до 1.

5. Введите N и выведите числа от 0 до -N.

6. Введите N и выведите все нечетные числа от 1 до N.

7. Введите N и вычислите сумму 1+2+…+N.

8. Введите N и вычислите сумму 1/1+1/2+…+1/N.

9. Введите N и вычислите сумму 1/2+1/4+1/8…+1/2N.

10. Введите N и выведите его N раз. Например, число 5 должно быть выведено 5 раз, а число 20 – 20 раз.

11. Введите N и вычислите факториал от N.

12. Введите N и выведите целые числа от N до -N. Например, если введено число 3, то на экране должны появиться числа 3, 2, 1, 0, -1, -2, -3.

13. Введите N и выведите N первых членов арифметической прогрессии при x0=2.7 и d=5.2.

14. Введите N и выведите N первых членов геометрической прогрессии при x0=3.3 и q=2.3.

15. Введите N и выведите все его делители. Например, делителями числа 28 являются числа 1, 2, 4, 7, 14, 28.

16. Введите натуральное число и проверьте, является ли оно простым (у него нет делителей, кроме 1 и его самого). Например, 7, 13, 19.

17. Введите два натуральных числа и проверьте, являются ли они взаимно простыми (у них единственным общим делителем является число 1). Например, 10 и 33.

18. Напишите программу, которая принимает с клавиатуры два числа и выводит их наибольший общий делитель.

19. Напишите программу, которая принимает с клавиатуры два числа и выводит их наименьшее общее кратное.

20. Напишите программу, которая принимает с клавиатуры число и определяет произведение его цифр.

21. Напишите программу, которая принимает с клавиатуры число и определяет сумму его цифр.

22. Введите число и выведите его вертикально (каждую цифру на отдельной строке).

23. Назовём число счастливым, если произведение его цифр равно их сумме. Напишите программу, которая принимает число и проверяет, счастливое ли оно. Например, счастливыми являются числа 123, 4112, 11331, 621111.

24. Введите целое положительное N и выведите его двоичное представление.

25. Введите число и проверьте, является ли оно степенью двойки.

26. Введите N и выведите все полные квадраты, не превосходящие N. Например, если N= 50, то программа выведет 1, 4, 9, 16, 25, 36.

27. Введите N и выведите все полные кубы, не превосходящие N. Например, если N= 130, то программа выведет 1, 8, 27, 64, 125.

28. Введите N и выведите все степени двойки, не превосходящие N. Например, если N=50, то программа должна вывести 1, 2, 4, 8, 16, 32.

29. Введите N и выведите все степени тройки, не превосходящие N. Например, если N=100, то программа должна вывести 1, 3, 9, 27, 81.

30. Введите N и выведите все элементы последовательности Фибоначчи, не превосходящие N.


Сейчас читают про: