Borg Fedak1162
?>

program task; var n, i, power, copy: integer; flag: boolean; begin readln( n ); copy := n; i := 2; flag := false; while copy <> 1 do begin while copy mod i <> 0 do i := i + 1; power := 0; while ( copy mod i = 0 ) do begin copy := copy div i; power := power + 1; end; if flag then write( '*' ) else flag := true; if power > 1 then write( i, '^', power ) else write( i ); i := i + 1; end; writeln; end. переведите на питон

Информатика

Ответы

kayrina

power = 0

n = int(input())

copy = n

i = 2

flag = False

while copy != 1:

   while copy % i != 0: i += 1

   power = 0

   while copy % i == 0:

       copy //= i

       power += 1

   if flag: print('*', end = '')

   else: flag = True

   if power > 1: print(str(i) + '^' + str(power), end = '')

   else: print(i, end = '')

   i += 1

dg9792794674
#include "iostream"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <cstdio>
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
 int i;
 double s = 0, k, size;
 double mas[200];
 cout << "Введите размерность массива:";
 cin >> size;
 srand(time(NULL));
 for (i = 0; i < size; i++)
{
 mas[i] = 0 + rand() % 100; cout << mas[i] << " ";
 }
cout << endl;
 for (i = 0; i < size; i++)
{
 s = s + mas[i];
 }
k = s / size;
 cout << "Среднее арифметическое:" << k <<endl;
 system("pause");
}
saltikovaPavlenko

Объяснение:

Здесь полная аналогия с тем, как мы складываем в обычной, десятичной системе. Объясню лучше на примере.

Мы знаем, что можно складывать числа "в столбик":

24

+13

 37

то есть строго разряд под разрядом. Но что мы делаем, когда в одном разряде получается число, больше 9? Правильно, переносим десяток в старший разряд!

15

+19

 24 (не 214!)

Здесь та же ситуация, отличие только в том, что максимальная цифра в разряде равна 7 (как в нашей десятичной записи максимальная цифра в записи разряда равна 9, а следующее число - 10 - уже состоит из двух цифр в записи - 1 и 0). Значит, если мы хотим записать число 8 в восьмеричной записи, мы напишем это как 10₈ (нижний индекс показывает систему счисления)

А теперь попробуем сложить два числа в восьмеричной системе:

  21₈

+ 16₈

  37₈

Разряд под разрядом, ничего сложно. А давайте возьмем пример поинтереснее:

  77₈

+ 77₈

7₈ + 7₈ = 16₈, это значит, что в младшем разряде мы напишем 6, а десятки припишем в старший разряд.

  1

  77₈

+ 77₈

  *6

Так как 7₈ + 7₈ + 1₈ = 17₈, то 7 записываем в свой, соответствующий, разряд, а единицу в старший, получив при этом ответ 176₈

В правильности ответа можем убедиться, переведя это все в десятичную запись: 77₈ = 63, 176₈ = 126, 63 + 63 = 126, все верно.

Единственный дискомфорт при таком методе - непривычные результаты сложения. Например, 7 + 7 = 14 (в десятичной записи), но в примере выше 7₈ + 7₈ = 16₈. Поэтому тут нужно быть аккуратным!

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

program task; var n, i, power, copy: integer; flag: boolean; begin readln( n ); copy := n; i := 2; flag := false; while copy <> 1 do begin while copy mod i <> 0 do i := i + 1; power := 0; while ( copy mod i = 0 ) do begin copy := copy div i; power := power + 1; end; if flag then write( '*' ) else flag := true; if power > 1 then write( i, '^', power ) else write( i ); i := i + 1; end; writeln; end. переведите на питон
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

srvsm
yuip2008
veniaminsem
Budanov317
gurina50
zaotar2008
anastasiaevent4
elegiy
edubenskaya
Иванович
Константин Андрей
Karpova
АртакСергеевич1723
Тимур
info40