Определите значение переменной c после выполнения следующего фрагмента программы: a := - 2; b := - 3; a := b + a * 3; if a > b then c := a – b else c := b – a;
int main() { setlocale(LC_ALL, "Russian"); int N, y, i; bool Prime; cout << "Введите число: "; cin >> N; do { Prime = true; y = N % 10; for (i = 2; i <= (sqrt(abs(y))); i++) { if (y % i == 0) { Prime = false; break; } } if ((Prime) & (y != 0) & (y != 1)) cout << y << " - простое" << endl; else cout << y << " - не простое" << endl; N = N / 10; } while (N != 0); system("pause"); return 0; }
Таких систем исчисления всего две. Основание а = 9 и основание а =367, но в системе с основанием 367 проблематично записывать числа (символов не хватит). Если число 3306(10) в системе исчисления с основанием а заканчивается цифрой 3, то тогда число 3303 делится на основание системы а. Отсюда алгоритм поиска. Находим все делители числа 3303. 3303 = 3*1101 = 3*3*367. Число 367 - простое. Поэтому основаниями системы исчисления могут быть только 3, 9, 367. Основание =3 не подходит, так как по условию число должно заканчиваться на 3 -> основание больше 3. Остаются 9, 367.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку