Всем привет. Мой код, язык Python (проблема ниже):
def change(summ, n):
~~num_count = 0
~~temp = n
~~while temp > 0:
num_count += 1
temp = temp // 10
~~last_digit = n % 10
~~first_digit = n // 10 ** (num_count - 1)
~~between_digits = n % 10 ** (num_count - 1) // 10
~~n = last_digit * 10 ** (num_count - 1) + between_digits * 10 + first_digit
~~print('Изменённое число:', n)
~~ summ += n
~~return summ
number = int(input('\nВведите первое число: '))
summa = 0
if abs(number) > 99:
~~summ = change(summa, number)
else:
~~print('В первом числе должно быть не менее трех цифр.')
n = int(input('\nВведите второе число: '))
if abs(n) > 999:
~~summ = change(summ, n)
else:
~~print('Во втором числе должно быть не менее четырех цифр.')
if abs(n) > 999 or abs(number) > 99:
~~print('\nСумма чисел:', summ)
else:
~~print('\nОшибка, попробуйте снова.')
Ребят , если в программе ввести следующие цифры (допустим, 23 и 43530), то программа падает с ошибкой, не совсем понимаю почему.
print('x=?')
x = int(input())
print('n=?')
n = int(input())
g = 2
y = 0
c=0
if (n % 2) == 1:
print('Так нельзя по условию')
exit(0)
else:
while c<(n/2):
y = y + (1 - x) / g
g=g+2
c=c+1
print('у=', y)
Объяснение:
Получилось решить через цикл While
Можно и через For, но у меня там что-то пошло не так , однако это решение уменьшит количество переменных (должно, по крайней мере). Если оно вам надо - напишите , в комментарии, я отошлю как разберусь.
Если нужно разобрать что как работает и что есть что - пишите в комментарии, я попробую .
#include <iostream>
using namespace std;
задание 1
//int main()
//{
// int a[10], k;
// printf("enter numbers\n");
// for(int i = 0; i < 10; ++i)
// {
// cin >> a[i];
// if(a[i] % 2 == 0)
// {
// printf("%d\n", a[i]);
// k++;
// }
// }
// printf("k = %d", k);
//}
задание 2
//int main()
//{
// int a[10], k;
// printf("enter K\n");
// cin >> k;
// printf("enter numbers\n");
// for(int i = 0; i < 10; ++i)
// {
// cin >> a[i];
// if(a[i] < k)
// {
// printf("%d\n", a[i]);
// }
// }
//}
Объяснение: