Символы кириллицы выводит некорректно. Как сделать чтобы выводился читабельный текст на русском языке? Тип приложения - не 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; }