По разделам



Задача Array 46


Дано число R и массив размера N. Найти два различных элемента массива, сумма которых наиболее близка к числу R, и вывести эти элементы в порядке возрастания их индексов (определение наиболее близких чисел дано в задании Array40).

Код (C/C++)

#include <stdio.h>

int main(void)
{
    int a[10];
    int n,r;
 
    printf("R: ");
    scanf("%i",&r);
 
    printf("N: ");
    scanf("%i",&n);
 
    int i;
    for (i=0; i<n; ++i){
        printf("a[%i] : ",i+1);
        scanf("%i",&a[i]);
    }
 
    int i2,k=0,k2=1;
    for (i=0; i<n-1;++i){
        for (i2=i+1; i2<n;++i2){
            if (abs(a[i]+a[i2]-r)<abs(a[k]+a[k2]-r)) {
                k=i;
                k2=i2;
            }
        }
    }
    printf("%i %i\n",k+1,k2+1);
    return 0;
}

Код (Python)

import random
N = random.randrange(2,21)
a = [random.randrange(1,100) for i in range(N)]
R = random.randrange(1,201)

print("N:",N)
print("Array:",a)
print("R:",R)

d_min = abs(R - (a[0] + a[1]))
i_min = 0
j_min = 1
for i in range(0,N-1) :
    for j in range(i+1,N) :
        #print(i,":",j)
        d_tmp = abs(R - (a[i] + a[j]))
        if d_min > d_tmp :
            d_min = d_tmp
            i_min = i
            j_min = j
            
print("Indices:", i_min,",",j_min)
print("Elements:", a[i_min],",",a[j_min])
print("Sum:", a[i_min] + a[j_min])
print("Min Diff:", d_min)
									

Код (Pascal)

program Array46;
var
  a:array[1..10] of integer;
  N,R,i,i2,k,k2:Integer;
 
begin
  Write('N: ');
  Readln(N);
  Write('R: ');
  Readln(R);
  for i:=1 to N do
   begin
    write(i,' :');
    readln(a[i]);
   end;
 
   k:=1;
   k2:=2;
 
  for i:=1 to N do
    for i2:=i+1 to N do
      if abs(a[i]+a[i2]-R)<abs(a[k]+a[k2]-R) then
        begin
          k:=i;
          k2:=i2;
        end;
 
  Writeln(k,' ',k2);
end.
									




Array. Абрамян
Array 1 Просмотров: 26
Array 2 Просмотров: 15
Array 3 Просмотров: 13
Array 4 Просмотров: 20
Array 5 Просмотров: 15
Array 6 Просмотров: 24
Array 7 Просмотров: 12
Array 8 Просмотров: 18
Array 9 Просмотров: 16
Array 10 Просмотров: 23
Array 11 Просмотров: 19
Array 12 Просмотров: 20
Array 13 Просмотров: 20
Array 14 Просмотров: 23
Array 15 Просмотров: 22
Array 16 Просмотров: 15
Array 17 Просмотров: 15
Array 18 Просмотров: 18
Array 19 Просмотров: 14
Array 20 Просмотров: 11
Array 21 Просмотров: 14
Array 22 Просмотров: 27
Array 23 Просмотров: 13
Array 24 Просмотров: 15
Array 25 Просмотров: 10
Array 26 Просмотров: 20
Array 27 Просмотров: 22
Array 28 Просмотров: 12
Array 29 Просмотров: 15
Array 30 Просмотров: 13
Array 31 Просмотров: 9
Array 32 Просмотров: 16
Array 33 Просмотров: 12
Array 34 Просмотров: 14
Array 35 Просмотров: 13
Array 36 Просмотров: 17
Array 37 Просмотров: 8
Array 38 Просмотров: 15
Array 39 Просмотров: 14
Array 40 Просмотров: 14
Array 41 Просмотров: 14
Array 42 Просмотров: 11
Array 43 Просмотров: 11
Array 44 Просмотров: 10
Array 45 Просмотров: 17
Array 46 Просмотров: 11
Array 47 Просмотров: 13
Array 48 Просмотров: 14
Array 49 Просмотров: 9
Array 50 Просмотров: 12
Array 51 Просмотров: 10
Array 52 Просмотров: 10
Array 53 Просмотров: 19
Array 54 Просмотров: 24
Array 55 Просмотров: 13
Array 56 Просмотров: 15
Array 57 Просмотров: 11
Array 58 Просмотров: 15
Array 59 Просмотров: 12
Array 60 Просмотров: 18
Array 61 Просмотров: 12
Array 62 Просмотров: 14
Array 63 Просмотров: 14
Array 64 Просмотров: 16
Array 65 Просмотров: 15
Array 66 Просмотров: 15
Array 67 Просмотров: 20
Array 68 Просмотров: 10
Array 69 Просмотров: 13
Array 70 Просмотров: 18
Array 71 Просмотров: 14
Array 72 Просмотров: 13
Array 73 Просмотров: 11
Array 74 Просмотров: 11
Array 75 Просмотров: 22
Array 76 Просмотров: 15
Array 77 Просмотров: 15
Array 78 Просмотров: 15
Array 79 Просмотров: 13
Array 80 Просмотров: 14
Array 81 Просмотров: 19
Array 82 Просмотров: 9
Array 83 Просмотров: 10
Array 84 Просмотров: 11
Array 85 Просмотров: 16
Array 86 Просмотров: 13
Array 87 Просмотров: 16
Array 88 Просмотров: 22
Array 89 Просмотров: 16
Array 90 Просмотров: 14
Array 91 Просмотров: 16
Array 92 Просмотров: 12
Array 93 Просмотров: 12
Array 94 Просмотров: 11
Array 95 Просмотров: 9
Array 96 Просмотров: 20
Array 97 Просмотров: 11
Array 98 Просмотров: 10
Array 99 Просмотров: 15
Array 100 Просмотров: 12
Array 101 Просмотров: 13
Array 102 Просмотров: 14
Array 103 Просмотров: 13
Array 104 Просмотров: 11
Array 105 Просмотров: 13
Array 106 Просмотров: 17
Array 107 Просмотров: 11
Array 108 Просмотров: 15
Array 109 Просмотров: 11
Array 110 Просмотров: 10
Array 111 Просмотров: 12
Array 112 Просмотров: 15
Array 113 Просмотров: 22
Array 114 Просмотров: 19
Array 115 Просмотров: 18
Array 116 Просмотров: 17
Array 117 Просмотров: 9
Array 118 Просмотров: 11
Array 119 Просмотров: 9
Array 120 Просмотров: 10
Array 121 Просмотров: 8
Array 122 Просмотров: 29
Array 123 Просмотров: 13
Array 124 Просмотров: 12
Array 125 Просмотров: 17
Array 126 Просмотров: 10
Array 127 Просмотров: 10
Array 128 Просмотров: 10
Array 129 Просмотров: 13
Array 130 Просмотров: 18
Array 131 Просмотров: 13
Array 132 Просмотров: 15
Array 133 Просмотров: 19
Array 134 Просмотров: 12
Array 135 Просмотров: 14
Array 136 Просмотров: 24
Array 137 Просмотров: 15
Array 138 Просмотров: 13
Array 139 Просмотров: 15
Array 140 Просмотров: 15

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться