Düzbucaqlı#8883

Düzbucaqlı (Həll təhlili)

Düzbucaqlı yalnız o halda tərtib edilə bilər ki, a, b, c, d ədədləri cüt-cüt bərabər ola bilsin. Bütün mümkün cütləşmə nümunələrini nəzərdən keçirmək lazımdır:

Problemi çeşidləmə ilə də həll etmək olar. Qoy massivində ədədlər təbii əda olmasın. Massivi çeşidləyək. Bu ədədlərdən düzlü bucaqlı tərtib edilə bilər yalnız və yalnız m[0] = m[1] və m[2] = m[3] şərti ödənildikdə.

Alqoritmin həyata keçirilməsi

Giriş məlumatlarını oxuyuruq.

scanf("%lld %lld %lld %lld", &a, &b, &c, &d);

Əgər düzlü bucaqlı varsa, onun perimetrini çap edirik.

if ((a == b && c == d) || (a == c && b == d) || (a == d && b == c))
  printf("%d\n", a + b + c + d);

Əks halda "No" çap edirik.

else
  printf("No\n");

Alqoritmin həyata keçirilməsi – çeşidləmə

giriş ədədləri üçün massiv elan edirik.

int m[4];

Giriş məlumatlarını oxuyuruq.

scanf("%d %d %d %d", &m[0], &m[1], &m[2], &m[3]);

Ədədləri çeşidləyirik.

sort(m, m + 4);

Əgər düzlü bucaqlı varsa, onun perimetrini çap edirik.

if (m[0] == m[1] && m[2] == m[3])
  printf("%d\n", m[0] + m[1] + m[2] + m[3]);

Əks halda "No" çap edirik.

else
  printf("No\n");

Java həyata keçirilməsi

import java.util.*;

public class Main
{
  public static void main(String[] args) 
  {
    Scanner con = new Scanner(System.in);
    int a = con.nextInt();
    int b = con.nextInt();
    int c = con.nextInt();
    int d = con.nextInt();
    
    if ((a == b && c == d) || (a == c && b == d) || 
        (a == d && b == c))
    	System.out.println(a + b + c + d);
    else
      System.out.println("No");
    con.close();
  }
}

Python həyata keçirilməsi

Giriş məlumatlarını oxuyuruq.

a, b, c, d = map(int, input().split())

Əgər düzlü bucaqlı varsa, onun perimetrini çap edirik.

if (a == b and c == d) or (a == c and b == d) or (a == d and b == c):
  print(a + b + c + d)

Əks halda "No" çap edirik.

else:
  print("No")