|
Символы кириллицы выводит некорректно. Как сделать чтобы выводился читабельный текст на русском языке? Тип приложения - не Qt, Qt Creator 4.5.0 основан на Qt 5.10.0. Win7.
|
Операторы управления
Задача 3.14. Дано натуральное число
. Определить
— количество делителей этого числа, меньших самого числа (Например, для
делители 1, 2, 3,
4, 6. Количество
).
Входные данные:
— целое число.
Выходные данные: целое число
— количество делителей
.
Промежуточные переменные:
— параметр цикла, возможные делители числа
.
В блок-схеме, изображённой на рис. 3.28, реализован следующий алгоритм: в переменную
, предназначенную для подсчёта количества делителей заданного числа, помещается значение, которое не влияло бы на результат, т.е. нуль. Далее организовывается цикл, в котором изменяющийся параметр
выполняет роль возможных делителей числа
. Если заданное число
делится нацело на параметр цикла
, это означает, что
является делителем
, и значение переменной
следует увеличить на единицу. Цикл необходимо повторить
раз.
Текст программы на С++:
#include <iostream>
using namespace std;
int main ( )
{
unsigned int N, i,K;
cout<<" N = "; cin >>N;
for (K=0, i =1; i<=N/ 2; i ++) if (N%i ==0) K++;
cout<<" K = "<<K<<" \n ";
return 0;
}
Задача 3.15. Дано натуральное число
. Определить, является ли оно простым. Натуральное число
называется простым, если оно делится без остатка только на единицу и на само себя. Число 13 — простое, так как делится только на 1 и 13, а число 12 таковым не является, так как делится на 1, 2, 3, 4, 6 и 12.
Входные данные:
— целое число.
Выходные данные: сообщение.
Промежуточные переменные:
— параметр цикла, возможные делители числа
.
Необходимо проверить, есть ли делители числа
в диапазоне от 2 до
(рис. 3.29). Если делителей нет,
— простое число, иначе оно таковым не является. Обратите внимание на то, что в алгоритме предусмотрено два выхода из цикла. Первый — естественный, при исчерпании всех значений параметра, а второй — досрочный. Нет смысла продолжать цикл, если будет найден хотя бы один делитель из указанной области изменения параметра.
При составлении программы на языке С++ досрочный выход из цикла удобно выполнять при помощи оператора break:
#include <iostream>
using namespace std;
int main ( )
{
unsigned int N, i;
bool Pr;
cout<<" N = "; cin >>N;
Pr=true; //Предположим, что число простое
for ( i =2; i <=N/ 2; i ++)
if (N%i ==0) //Если найдётся хотя бы один делитель, то
{
Pr=false; //число простым не является и
break; //досрочный выход из цикла
}
if ( Pr ) //Проверка значения логического параметра и вывод на печать
//соответствующего сообщения
cout<<N<<" - простое число\n ";
else
cout<<N<<" - не является простым\n ";
return 0;
}

