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