Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Bir web sitesini, çeşitli zamanlarda farklı kullanıcılar ziyaret etmektedir. Siteye giren kullanıcıların sitede geçirdikleri zamanlar birbirinden farklıdır ve sitede kaldıkları bu sürenin kaydı tutulmaktadır.

    Siteye giren toplam ziyaretçilerin (tk) sayısı ile, hemen çıkma oranı (sitede 10 saniyeden az kalıp giden) yüzdesine (h) sahip olan ziyaretçilerin oranı verilmiştir.

    Bu noktada ise programcıdan; sitede kalmaya devam eden ziyaretçilerin sayısını bulması ve (eğer varsa) ondalık sayıya sahip sonuçları (örn. 7.1 veya 7.9) aşağı yuvarlaması istenmektedir.

    Örnek

    Girdi Çıktı
    tk: 1000, b: 25 750
    tk: 835, b: 17 693

    Çözüm - C#

    using System;
     
    public class Program
    {
        private static void Main(string[] args)
        {
            // Verilen toplam ziyaretçi sayısı ve hemen çıkma oranı
            int toplamZiyaretci = 1000, hemenCikmaOrani = 25;
     
            double oranlamaSonucu = (Convert.ToDouble(hemenCikmaOrani)/100)*toplamZiyaretci;
     
            // Oranlanan sonucu aşağı yuvarla
            double yuvarlamaSonucu = Math.Floor(oranlamaSonucu);
     
            // Sonucu yazdır
            Console.WriteLine(toplamZiyaretci - yuvarlamaSonucu);
     
            Console.Read();
        }
    }
    

    Çözüm - Java

    import java.text.DecimalFormat;
     
    public class Main {
     
        public static void main(String[] args)
        {
            // Verilen toplam ziyaretçi sayısı ve hemen çıkma oranı
            int toplamZiyaretci = 850, hemenCikmaOrani = 17;
     
            // İşlem alanı
            double oranlamaSonucu = ((double) (hemenCikmaOrani) / 100) * toplamZiyaretci;
     
            // Oranlanan sonucu aşağı yuvarla
            double yuvarlamaSonucu = Math.floor(oranlamaSonucu);
            
            // Ondalık ekini yok etmek için DecimalFormat sınıfı kullan
            DecimalFormat ondalikAt = new DecimalFormat("0.#");
            
            // Sonucu ondalıksız yazdır
            System.out.println(ondalikAt.format(toplamZiyaretci - yuvarlamaSonucu));
        }
    }