kika007
17.10.2022 04:08

Розкрити теоретичне запитання: Редагування тексту і чисел в excel. переміщення і копіювання вмісту комірок


Розкрити теоретичне запитання: Редагування тексту і чисел в excel. переміщення і копіювання вмісту к

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
слар
25.11.2020 05:18
Умножение числа на 2 в двоичной системе эквивалентно его сдвигу влево на один разряд. При этом старший разряд старшей тетрады должен перейти в новую, третью тетраду или он будет утерян. Но по условию, после умножения число по-прежнему имеет два разряда, следовательно мы должны потерять старший разряд безболезненно, а это возможно только если он нулевой.
Тогда первоначальное число должно быть записано как

а после удвоения его запись примет вид

Запишем сумму цифр исходного числа p1:

Теперь запишем сумму удвоенного числа p2:

По условию эти две суммы равны и мы составляем уравнение:

Полученное уравнение решается на множестве двоичных чисел.
Поскольку исходное число двузначное, по крайней мере в старшем разряде оно содержит цифру, отличную от нуля. Следовательно, b3 не может равняться нулю и остается только положить b3=1. Тогда уравнение (1) примет следующий вид:

Учитывая, что каждый бит может принимать значения только 0 и 1, мы должны найти такие комбинации бит, которые дадут в сумме 7=4+2+1, потому что у нас в уравнении только такие коэффициенты. Сгруппируем члены в (2):

Полученная система уравнений будет иметь 7 вариантов решений (вариант a2=a1=a0=0 исключается в силу необходимости наличия цифры в старшем разряде), которым в старшем разряде будут соответствовать цифры от 001(2) до 111(2) или от 1(10) до 7(10).

ответ: 7

Замечание: Из (3) можно легко найти числа, которые соответствуют заданным условиям: 30, 45, 60, 75, 90, 105, 120 (все в десятичной системе счисления). В 16-ричной системе они запишутся как 1E, 2D, 3C, 4B, 5A, 69, 
0,0(0 оценок)
Ответ:
Bro1221
15.03.2023 06:05
#include <stdio.h>
#include <stdlib.h>
 int compare(void *a, void *b) {
    int va = *(int*)a;
    int vb = *(int*)b;
    if(va == vb) return 0;
    return va < vb ? -1 : 1;
}
 
int max_index(void *base, int n, int width, int (*compare)(void *a, void *b)) {
    int i, j = 0;
    char max[width];
    memcpy(max, base, width);
    for(i = 1; i < n; i++) {
        if( compare(base+i*width, max) > 0)
            {
                memcpy(max, base+i*width, width);
                j = i;
            }
    }
    return j;
}
 
int main() {
    int n;
    scanf("%d", &n);
    int a[n];
    for(int i = 0; i < n; i++)
        scanf("%d", &a[i]);
    printf("%d\n", a[max_index(a, n, sizeof(int), compare)]);
}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота