Предмет: Информатика, автор: arportnow

Срочно на с++, даю 100 баллов. Для того чтобы проверить, как её ученики умеют считать, Мария Ивановна каждый год задаёт им на дом одну и ту же задачу — для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на себя N раз) делится на A. От года к году и от ученика к ученику меняется только число A.

Вы решили помочь будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу.

Входные данные

Во входных данных содержится единственное число A (1≤A≤109 — на всякий случай; вдруг Мария Ивановна задаст большое число, чтобы «завалить» кого-нибудь…).

Выходные данные

Выведите число N.

Примеры
Ввод
Вывод
1
1
8
4


kostyazhmur03: Почему это в задачи ошибки ?
kostyazhmur03: В решении *
kostyazhmur03: Не понимаю я
fkid2006: есть решение на с++?

Ответы

Автор ответа: mathkot
0

Ответ:

#include <iostream>

#include<cmath>

using namespace std;

int main() {

 int A;

 

 int N = 1;

 

 cin >> A;

   

 for (N = 1; (int(pow(N, N))) < sqrt(A); N++) {

 

  if(int(pow(N, N)) % A == 0){

   break;

  }

     

 }

 cout << N;

return 0;

}

Объяснение:

(в программе не реализуется проверка введенных данных)

(согласно условию предполагается, что такое число N существует)

  • #include <iostream> - подключаем стандартную библиотеку для работы с консолью
  • #include<cmath> - подключаем библиотек для работы с математическими функциями

Создаем переменную A в строчке - int A, аналогично создаем переменную N (int N = 1) и тут же присваиваем ей значение 1, так как по условию N - натуральное число.

Вводим данную переменную с консоли помощью строчки cin >> A;

Создаем цикл в котором будем искать переменную N. Рассмотрим детальнее начальные условия цикла:

  •  for (N = 1; (int(pow(N, N))) < sqrt(A); N++)

Так как переменная N уже создана, то начинаем цикл с N = 1.

Потом зададим в каком диапазоне изменяется N. Число N в степени N не может превышать числа A, а более точная математическая оценка говорит, что все числа начиная от √A не могут быть делителями числа A, поэтому:

  • (int(pow(N, N))) < sqrt(A)

Операция pow(N, N) возводит число N в степень N и возвращает число типа double.

Так же при возведении в степень будет возвращено значение типа double, которое для корректной работы программы нужно преобразовать в int, поэтому используем приведение типа

int(pow(N, N)).

Счетчик цикла N увеличиваем (N++) пока не выйдем за пределы цикла.

Тело цикла:

  •  if(int(pow(N, N)) % A == 0){

   break;

  }

Если остаток от деления (%) числа  pow(N, N) равен нулю, то это означает, что деление произошло нацело, тогда мы попадаем в тело условия и останавливаем цикл оператором break;

cout << N; - выводим число N

#SPJ3

Похожие вопросы
Предмет: Английский язык, автор: EironBuLL18
The Changing World of Computers

Computers are rapidly changing the way we do things. For a technology that is still relatively new, their A22 ...................... on the business and consumer sector has been incomprehensible. As if it was not sufficient to own one computer, many people nowadays have a few of them. We think we need a desktop computer, a laptop computer, and a bunch of little computers in our phones and music players, even A23 ...................... they actually do the same thing. Now that everybody has their desktops and laptops, and we are all able to A24 ...................... the Internet anytime we want to, our world has turned into a virtual playground. We can now connect with our foreign neighbours in a matter of seconds, A25 ...................... of how far away they are from us. It's as if we no longer have borders in this highly digital world of ours.

Desktops have always been a great option, but the problem with them is that they are not mobile. They have all the A26 ...................... of other computers, but it can be annoying at times to have to sit in the same spot while working. For businesses and personal offices, desktop computers are still the favoured option because of their power. But when people have to be connected while travelling, the need for laptops really becomes apparent. The main advantage of laptops is the ability to communicate with people no A27 ...................... where you are. Our society has been converted into one that has to have all the latest gadgets. Some people even A28 ...................... down on others if they still have last year's model of some gadget. Those people will always be behind the curve just because of how fast technology is advancing now.

А22

1) affect

2) role

3) impact

4) value

А23

1) though

2) now

3) so

4) as

А24

1) register

2) log

3) connect

4) access

А25

1) regardless

2) regarding

3) in spite

4) despite

А26

1) qualities

2) skills

3) capabilities

4) traits

А27

1) trouble

2) matter

3) doubt

4) problem

А28

1) turn

2) fall

3) come

4)look