И кстати, пример не правильный, т.к. когда вы используете просто команду input(), то она не преобразует строку в число, а оставляет ее строкой, то есть если вы ввели 5, то и переменная будет хранить значение '5' как строку(как слово), а строковый тип не поддерживает операцию перемножения саму на себя, то есть если вы умножите '5'(типа str) на '5'(типа str) это будет соответствовать умножению слова 'гриб' на слово 'дерево', а это невозможно.
Чтобы исправить эту ошибку нужно 'оборачивать' input() в int(), то есть должно получиться int(input()), как написал я.
Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, то следует ничего не выводить.
Формат входных данных
На первой строке дано целое число n (1≤n≤100) — количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 10^9. Формат выходных данных
В выходной файл выведите строки (по количеству вставок) по n чисел каждая.
Задачу то я решил, вот только тестирующая система говорит, что слишком много написано Correct 1 2 2 1 2 1 1 1 2 2 2 1 1 1 1 2 2 2
Output 1 2 2 1 2 1 1 2 1 2 2 1 1 1 2 2 2 1 1 1 2 2 1 2 1 1 2 1 2 2 1 1 1 2 2 2 C++Выделить код 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include #include using namespace std; int main(){ int n; cin >> n; vector a; for (int i = 0; i < n; i++){ int b; cin >> b; a.push_back(b); } for (int i = 1; i < n; i++){ for (int j = i; j > 0; j--){ if (a[j - 1] > a[j]){ swap(a[j], a[j - 1]); for (auto now : a){ cout << now << " "; } cout << "\n"; } else{ break; } } } return 0; }
1
x = int(input('Введите x: '))
print('y =', 2 * pow(x, 0.5))
print('y =', pow(x + 2, 2))
print('z =', 14 * pow(x, 2) + 11 - 17)
2
import math
s, v_1, v_2 = int(input('Введите S: ')), int(input('Введите v1: ')), int(input('Введите v2: '))
print(math.ceil(s / (v_1 + v_2)))
И кстати, пример не правильный, т.к. когда вы используете просто команду input(), то она не преобразует строку в число, а оставляет ее строкой, то есть если вы ввели 5, то и переменная будет хранить значение '5' как строку(как слово), а строковый тип не поддерживает операцию перемножения саму на себя, то есть если вы умножите '5'(типа str) на '5'(типа str) это будет соответствовать умножению слова 'гриб' на слово 'дерево', а это невозможно.
Чтобы исправить эту ошибку нужно 'оборачивать' input() в int(), то есть должно получиться int(input()), как написал я.
Формат входных данных
На первой строке дано целое число n (1≤n≤100) — количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 10^9.
Формат выходных данных
В выходной файл выведите строки (по количеству вставок) по n чисел каждая.
Задачу то я решил, вот только тестирующая система говорит, что слишком много написано
Correct
1 2 2 1 2 1
1 1 2 2 2 1
1 1 1 2 2 2
Output
1 2 2 1 2 1
1 2 1 2 2 1
1 1 2 2 2 1
1 1 2 2 1 2
1 1 2 1 2 2
1 1 1 2 2 2
C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include
#include
using namespace std;
int main(){
int n;
cin >> n;
vector a;
for (int i = 0; i < n; i++){
int b;
cin >> b;
a.push_back(b);
}
for (int i = 1; i < n; i++){
for (int j = i; j > 0; j--){
if (a[j - 1] > a[j]){
swap(a[j], a[j - 1]);
for (auto now : a){
cout << now << " ";
}
cout << "\n";
}
else{
break;
}
}
}
return 0;
}