1213. Massiv ədədləri

 

Ədəd o zaman massiv ədədi adlanır ki, o a^n şəklində yazılmış olsun, bu da a ədədinin n-ci dərəcədən qüvvətə yüksəldilməsi deməkdir. Sizdən “<əsas>^<qüvvət>” formatında verilmiş iki abcd massiv ədədlərini müqayisə etmək tələb olunur.

İki massiv ədəddən böyüyünü vermək lazımdır.

 

Giriş verilənləri. “<əsas>^<qüvvət>” formatında iki a b massiv ədədləri. Məlumdur ki, 1 ≤ <əsas>, <qüvvət> ≤ 1000.

 

Çıxış verilənləri. a b-dən ən böyüyü.

 

Giriş verilənlərinə nümunə

3^100 2^150

 

Çıxış verilənlərinə nümunə

3^100

 

 

HƏLLİ

riyaziyyat

 

Alqoritmin analizi

ab < cd bərabərsizliyini loqarifləyək. b lg a < d lg c alacağıq. b lg a d lg c ifadələrinin qiyməti double tipinə daxildir, buna görə də onları müqayisə etmək çətin deyil.

 

Alqoritmin reallaşdırılması

Hər bir ədədin əsasını və qüvvətini ayıraraq giriş verilənlərini oxuyuruq.

 

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

 

Loqarifmlənmiş b lg a d lg c ifadələrini müqayisə edirik, nəticədə cavabı veririk.

 

if (b * log(1.0 * a) < d * log(1.0 * c)) printf("%d^%d\n",c,d);

else printf("%d^%d\n",a,b);

 

Java reallaşdırılması

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    String s = con.nextLine();

    StringTokenizer st = new StringTokenizer(s," ^");

    int a = Integer.valueOf(st.nextToken()),

        b = Integer.valueOf(st.nextToken()),

        c = Integer.valueOf(st.nextToken()),

        d = Integer.valueOf(st.nextToken());

    if(b * Math.log(a) > d * Math.log(c)) System.out.println(a + "^" + b);

    else System.out.println(c + "^" + d);

  }

}