Çözüldü Ardışık Sayılarda Basamak Analizi - Programlama

Konusu 'Matematik - Geometri' forumundadır ve Honore tarafından 1 Ekim 2018 başlatılmıştır.

Yüklüyor...
  1. Honore

    Honore Yönetici Yönetici

    Mesajlar:
    11.054
    Beğenileri:
    652
    Cinsiyet:
    Bay
    Meslek:
    Müh. (Elk./Bilg.)
    2 basamaklı ardışık 5 tam sayının rakamları toplamı 45 ise bu sayılardan en büyüğü kaçtır?

    5x + (5 - 1) = 45 ⇒ x = 7 ve en büyük sayının rakamları toplamı 7 + (5 - 1) = 7 + 4 olacağından sayının kendisi de 74 bulunur.

    Soruyu soranın istemesi üzerine biraz açıklama yapmam gerektiğini fark ettim:
    Ardışık sayılardan en küçüğünün basamakları toplamı x olsun.
    Buna göre tüm sayılar (basamakları toplamı olarak)
    x
    x + 1
    x + 2
    x + 3
    x + 4
    ve toplamları da 5x + 10 olur.
    5x + 10 = 45
    5x = 35
    x = 7
    Böylece en büyük sayının basamakları toplamı x + 4 = 7 + 4 = 11 olup bunu veren rakamlara göre sayılar 29, 38, 47, 56, 65, 74, 83, 92 olabilir. En büyük sayı arandığından seçeneklere göre cevap 74'tür.

    Not: 83 ve 92 sayıları basamaklar toplamı (11) şartına uymakla beraber kendilerinden küçük diğer ardışık sayılarla birlikte tüm basamakların toplamı (45) şartına uymadığından doğru değildir.
    ---
    Bilgisayar programlamayla ilgilenen öğrenciler için bir Fortran uygulaması:
    [​IMG]
    https://image.ibb.co/dwpbrz/Consecutive_Numbers_Fortran.png

    Program:
    Kod:
    program sayilar
    implicit none
    integer :: i,j=1,k,m
    integer sayi1,sayi2,sayi3,sayi4,sayi5
    integer birler1,birler2,birler3,birler4,birler5
    integer onlar1,onlar2,onlar3,onlar4,onlar5
    integer toplam1,toplam2,toplam3,toplam4,toplam5,toplam
    integer :: sayix(99-10+1)=0
    integer, allocatable :: a(:)
    
    do i=10,95
    
       sayi1=i
       birler1=mod(sayi1,10)
       onlar1=sayi1/10
       toplam1=birler1+onlar1
    
       sayi2=sayi1+1
       birler2=mod(sayi2,10)
       onlar2=sayi2/10
       toplam2=birler2+onlar2
       
       sayi3=sayi2+1
       birler3=mod(sayi3,10)
       onlar3=sayi3/10
       toplam3=birler3+onlar3
    
       sayi4=sayi3+1
       birler4=mod(sayi4,10)
       onlar4=sayi4/10
       toplam4=birler4+onlar4
    
       sayi5=sayi4+1
       birler5=mod(sayi5,10)
       onlar5=sayi5/10
       toplam5=birler5+onlar5
    
       toplam=toplam1+toplam2+toplam3+toplam4+toplam5
    
       if (toplam == 45) then
          sayix(j)=sayi5
          j=j+1
       endif
    
    enddo
    
    allocate (a(j))
    a(1:j)=sayix(1:j)
    
    write(6,10),'Sartlari saglayan tum iki basamakli sayilar:'
    do k=1,j
       if (a(k)/=0) print*,a(k)
    enddo
    
    write(6,10),'Basamaklari toplami 45 olan en buyuk iki basamakli 5 ardisik sayi:'
    do m=0,4
       print*,maxval(a)-m
    enddo
    
    print*,''
    
    write(6,15),'Aranan sayi: ',maxval(a)
    
    deallocate(a)
    
    10 format (/,a)
    15 format (a,i2,/)
    
    end program
    Son düzenleme: 3 Ekim 2018
     
    : Fortran

  2. Benzer Konular: Ardışık Sayılarda
    Forum Başlık Tarih
    Polinomlar, Permütasyon, Kombinasyon, Olasılık ve Binom Açılımı Ardışık Sayılarda Toplam - Polinomlarda Bölme ve Kalan 21 Haziran 2024
    Ivır Zıvır Sorular - Sohbet (Trivial Questions - Chat) Ardışık Tek Sayıların Toplamı - Toplam Sembolü - Programlama Pazar 16:39
    Ivır Zıvır Sorular - Sohbet (Trivial Questions - Chat) Ardışık Üç Çift Sayının Toplamı (Şıklara Bakılarak ve Akıldan Yapılacak) 24 Kasım 2025
    Doğal Sayılar,Tam Sayılar,Bölme Bölünebilme,EBOB-EKOK Ardışık Sayılar - Programlama 29 Kasım 2024
    Limit ve Süreklilik,Türev,İntegral Belirli İntegralin Tanıma Göre Hesaplanması - Ardışık Tam Sayı Küplerinin Toplamı - Sonsuzda Limit 8 Nisan 2024

Sayfayı Paylaş