Цель. Получить практические навыки работы с циклами 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.