Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Задача Цифри и Числа

Задача Цифри и Числа

Мнениеот ilina2001 » 12 Дек 2018, 10:56

Здравейте!
Мога ли да помоля за помощ относно една задача? Със сина ми отново зациклихме.... :(

Написани са числата от 1 до 1999. Колко пъти се среща цифрата 6? А цифрата 0?

Благодаря от сърце! :)
ilina2001
Нов
 
Мнения: 12
Регистриран на: 11 Дек 2018, 22:28
Рейтинг: 1

Re: Задача Цифри и Числа

Мнениеот ptj » 12 Дек 2018, 12:48

Нека първо намерим броя на цифрите 6 в числата между 1 и 999.

Без загуба на общност може да записваме всяко число с 3 цифри и да добавим 000. Например 3 с 003, 35 с 035 и т.н.

Тогава в този запис ще има точно 3.1000=3000 цифри, като всяка различна се среща по равен брой пъти. Сл. 6-ците ще са [tex]3000:10=300[/tex].

Аналогично 300 са 6-ците между 1000 и 1999, защото се различават само по цифрата на хилядните, а тя е различна от 6.

Тогава 6-ците в числата между 1 и 1999 са точно 300+300=600.


За 0-лите може да разсъждавате по същия начин, но от 600 ще трябва да извадите всички изкуствено прибавени.
Другия вариант е да ги броите на всяка една позиция (единици, десетици и стотици).
ptj
Математик
 
Мнения: 3305
Регистриран на: 26 Юли 2010, 19:17
Рейтинг: 1112

Re: Задача Цифри и Числа

Мнениеот ilina2001 » 12 Дек 2018, 13:49

Много Ви благодаря! Разбрах обяснението, като се има предвид, че съм много скарана с математиката :)
Хубав ден!
ilina2001
Нов
 
Мнения: 12
Регистриран на: 11 Дек 2018, 22:28
Рейтинг: 1

Re: Задача Цифри и Числа

Мнениеот Гост » 26 Юли 2021, 13:38

ilina2001 написа:Здравейте!
Мога ли да помоля за помощ относно една задача? Със сина ми отново зациклихме.... :(

Написани са числата от 1 до 1999. Колко пъти се среща цифрата 6? А цифрата 0?

Благодаря от сърце! :)


Код: Избери целия код
#include <iostream>

using namespace std;

int main()
{
    int dig0 = 0, dig6 = 0;

    for (int i = 1; i <= 1999; i++)
    {
        int copy = i;

        while (copy)
        {
            if (copy % 10 == 0)
            {
                dig0++;
            }
            else
            {
                if (copy % 10 == 6)
                {
                    dig6++;
                }
            }

            copy /= 10;
        }
    }

    cout << "6: " << dig6 << endl;
    cout << "0: " << dig0 << endl;

    return 0;
}


Програмата казва:
[tex]6: 600[/tex]
[tex]0: 489[/tex]
Гост
 


Назад към 4 клас



Кой е на линия

Регистрирани потребители: Google Adsense [Bot]

Форум за математика(архив)