Çözüldü Sayılar (5 Soru) - Programlama

Konusu 'Matematik - Geometri' forumundadır ve tayfur05 tarafından 21 Ekim 2012 başlatılmıştır.

Yüklüyor...
  1. tayfur05

    tayfur05 Yeni Üye

    Mesajlar:
    13
    Beğenileri:
    0
    1) 24000 sayısının tam sayı bölenlerinin kaç tanesi 100 ile bölünür? (40)
    2) 180 sayısının pozitif bölenlerinin kaç tanesi 3'ün katıdır? (12)
    3) 1200 sayısının asal olmayan kaç tane çift doğal sayı böleni vardır (23)
    4) 8100 sayısının pozitif bölenlerinin kaç tanesi asal olmayıp 3'ün tam katıdır?
    5) (2a+b) ve (3a-b) aralarında asal sayıdır. (2a+b)/(3a-b)=165/60 ise a+b kaçtır?
    Son düzenleyen: Moderatör: 1 Haziran 2025
     
    : Fortran

  2. Benzer Konular: Sayılar Soru)
    Forum Başlık Tarih
    Ivır Zıvır Sorular - Sohbet (Trivial Questions - Chat) Trigonometri - Kareköklü Sayılar (2 Soru) 14 Ocak 2025
    Ivır Zıvır Sorular - Sohbet (Trivial Questions - Chat) Geometri - Orantı - Kareköklü ve Üstel Sayılar - Trigonometri (12 Soru) 24 Mart 2024
    Doğal Sayılar,Tam Sayılar,Bölme Bölünebilme,EBOB-EKOK Asal Sayılar - Aritmetik Dizi - Programlama (8. Sınıf için ağır bir soru) 3 Eylül 2023
    Trigonometri,Karmaşık Sayılar,Logaritma,Parabol Polinomlar - Karmaşık Sayılar (2 Soru) (Matematikte İyi Niyetsizlik ve Kibir ÇOK Ayıptır!) 3 Mayıs 2023
    Ivır Zıvır Sorular - Sohbet (Trivial Questions - Chat) Faktöriyel ve Rasyonel Sayılarda Bölme - Çarpanlara Ayırma (ALES 2021, 4. Soru) 14 Mart 2022

  3. Bora

    Bora Yönetici Yönetici

    Mesajlar:
    2.136
    Beğenileri:
    575
    Meslek:
    Öğretmen
    1)
    24000 = 100·(240) = 100·(2^4·3·5), (4+1)·(1+1)·(1+1) = 20 pozitif + 20 negatif = 40
    ---
    2)
    180 = 2^2·3^2·5 = 3·(2^2·3·5), (2+1)·(1+1)·(1+1) = 12
    ---
    3)
    1200=2^4·3·5^2
    3 ve 5'in kuvvetlerini alarak; (1+1)·(2+1)=6 tane tek doğal böleni var.
    pozitif bölen sayısı = 5·2·3 = 30
    30-6 = 24 tane çift doğal sayı böleni var. 2 de bunların içinde. Asal olduğu için 2'yi çıkarırız (1 tane).
    24 - 1 = 23 tane
    ---
    4)
    Sana bırakıyorum
    ---
    5)
    Aralarında asal oluncaya kadar gerekli sadeleştirme yapılırsa,
    (2a+b) / (3a-b) = 11/4
    2a+b=11
    3a-b=4
    a=3
    b=5
    Honore bunu beğendi.
  4. tayfur05

    tayfur05 Yeni Üye

    Mesajlar:
    13
    Beğenileri:
    0
    Hocam 1 ve son soruda işlem hatası yapmışım. Çok teşekkürler
  5. Honore

    Honore Yönetici Yönetici

    Mesajlar:
    11.053
    Beğenileri:
    652
    Cinsiyet:
    Bay
    Meslek:
    Müh. (Elk./Bilg.)
    4. Soru şöyle yapılabilir:

    8100 Asal çarpanlarına 3^4·2^2·5^2 şeklinde ayrılıp pozitif bölenlerin sayısı (4 + 1)·(2 + 2)·(2 + 2) = 5·3·3 = 45
    Bunların içinden 2, 3, ve 5 asal çarpanları da dahil 1, 2, 3, 4, 5, 10, 20, 25, 50, 100 sayıları çıkartılınca 45 - 10 = 35.

    Bilgisayar Programlamayla İlgilenenler İçin Yapay Zekâ'nın Yazdığı Fortran Uygulaması:
    [​IMG]
    https://i72.servimg.com/u/f72/19/97/10/39/nonpri10.png

    Program:
    Kod:
    ! 8100 sayısının pozitif bölenlerinin kaç tanesi asal olmayıp 3'ün tam katıdır?
    ! https://app.codeconvert.ai/code-generator?outputLang=Fortran adresindeki
    ! yapay zekâ tarafından aşağıdaki isteğe göre yazıldı:
    !
    ! Write a Fortran 95 or 2003 program to identify and list the positive
    ! divisors of 8100 that are not prime but are multiples of 3.
    program divisor_analysis
        implicit none
       
        integer, parameter :: target = 8100
        integer :: i, count
        integer, dimension(100) :: divisors
        integer :: num_divisors
        integer :: sqrt_target
       
        ! Find all divisors of 8100
        num_divisors = 0
        sqrt_target = int(sqrt(real(target)))
       
        do i = 1, sqrt_target
            if (mod(target, i) == 0) then
                ! Add i as a divisor
                num_divisors = num_divisors + 1
                divisors(num_divisors) = i
               
                ! Add target/i as a divisor (if different from i)
                if (i /= target/i) then
                    num_divisors = num_divisors + 1
                    divisors(num_divisors) = target/i
                end if
            end if
        end do
       
        ! Sort divisors
        call sort_array(divisors, num_divisors)
       
        ! Print divisors that are not prime and are multiples of 3
        write(*,*) 'Positive divisors of', target, ' that are not prime but are multiples of 3:'
        count = 0
       
        do i = 1, num_divisors
            if (mod(divisors(i), 3) == 0 .and. .not. is_prime(divisors(i))) then
                write(*,*) divisors(i)
                count = count + 1
            end if
        end do
       
        write(*,*) 'Total count:', count
    
    contains
    
        logical function is_prime(n)
            implicit none
            integer, intent(in) :: n
            integer :: i
           
            if (n <= 1) then
                is_prime = .false.
            else if (n == 2) then
                is_prime = .true.
            else if (mod(n, 2) == 0) then
                is_prime = .false.
            else
                is_prime = .true.
                do i = 3, int(sqrt(real(n))), 2
                    if (mod(n, i) == 0) then
                        is_prime = .false.
                        exit
                    end if
                end do
            end if
        end function is_prime
       
        subroutine sort_array(arr, n)
            implicit none
            integer, intent(in) :: n
            integer, dimension(n), intent(inout) :: arr
            integer :: i, j, temp
           
            ! Simple bubble sort
            do i = 1, n - 1
                do j = i + 1, n
                    if (arr(i) > arr(j)) then
                        temp = arr(i)
                        arr(i) = arr(j)
                        arr(j) = temp
                    end if
                end do
            end do
        end subroutine sort_array
       
    end program divisor_analysis
    ! Yapay Zekânın Ek Açıklamaları:
    !
    !• Efficient Divisor Finding: The program finds divisors by checking numbers
    ! only up to √8100 ≈ 90, then adds both the divisor and its complement
    ! (8100/divisor) to the list. This reduces computation from O(n) to O(√n).
    
    !• Prime Detection: The is_prime function efficiently checks primality by:
    !Handling special cases (≤1: not prime, 2: prime)
    !Quickly rejecting even numbers > 2
    !For odd numbers, checking divisibility only by odd numbers from 3 to √n
    !• Filtering Logic: The main condition
    ! mod(divisors(i), 3) == 0 .and. .not. is_prime(divisors(i)) ensures we
    ! only select divisors that are both multiples of 3 and composite (non-prime).
    
    !• Output Format: The program sorts divisors in ascending order for
    !clean presentation and includes a count of qualifying numbers.
    
    !• Fortran 95/2003 Features: Uses contains for internal procedures,
    !intent declarations for clear parameter usage, and the parameter attribute for constants.

Sayfayı Paylaş