0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36

Найти количество страниц в книге

16.09.2010, 11:38. Показов 6340. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот такая задачка, хм... очень интересная и очень не решаемая!
каждая страница в книге перенумерована с первой по последнюю. Сумма всех цифр номеров =n (1+2+3+4+5+6+7+8+9+(1+0)+(1+1)+(1+2)+... .. всего страниц в книге <=9999 написать программу для нахождения количества страниц в этой книге!
использовать только оператор цикла, условный оператор (больше не проходили)
то есть мы вводим какое то число он выводит колво страниц , а число есть сумма цифр номеров страниц
писать на С++
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.09.2010, 11:38
Ответы с готовыми решениями:

В книге n страниц. Найдите количество цифр, необходимое для нумерации всех страниц такой книги
Напишите пожалуйста программу по данной задаче В книге n страниц. Найдите количество цифр, необходимое для нумерации всех страниц...

Определить количество страниц в книге
https://tproger.ru/problems/number-of-pages-in-a-book/ Не могу понять.

Для нумерации страниц понадобилось К цифр. Сколько страниц в книге?
Для нумерации страниц понадобилось К цифр. Сколько страниц в книге? Если указанное число не может быть суммой цифр номеров страниц, то...

15
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
16.09.2010, 11:54
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
using namespace std;
 
int digitSum(int n)
{
    int res = 0;
    while(n)
    {
        res += n%10;
        n /= 10;
    }
    return res;
}
 
int main()
{
    int n;
    cin >> n;
    int cnt = 0, i = 0;
    while(cnt < n)
    {
        i++;
        cnt += digitSum(i);
    }
    cout << i << endl;
    system("pause");
}
0
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
16.09.2010, 11:59  [ТС]
не понятна 5 строчка и 27)
0
5 / 5 / 0
Регистрация: 15.09.2010
Сообщений: 5
16.09.2010, 12:42
Вот более простой вариант, выводит только целое количество страниц(если число не является суммой номеров страниц)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
 
using namespace std;
const int n = 9999;
 
int main()
{
    cout<<"Vvedite chislo: ";
    int index = 0;
    int p;
    cin >> p;
    int sum = 0;
    int mass[n];
    for (int i = 0; i<n;i++)
    {
        mass[i]=i+1;
    }
    for (int j = 0;sum < p; j++)
    {   
        sum += mass[j];
        if(sum>p)
            continue;
        ++index;
 
    }
    cout<<"kolvo stranic: "<<index;
    cin.get();
    cin.get();
    return 0;
}
Хохол, у тебя не совсем правильно. Например, при вводе цифры 7 у тебя выводит 4 страницы, хотя 1+2+3+4 = 10
0
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
16.09.2010, 13:00
Цитата Сообщение от wild_flower Посмотреть сообщение
число есть сумма цифр номеров страниц
7 - некорректный тест.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
16.09.2010, 13:08
Хохол,
Если они не проходили дальше циклов и условных операторов, то вряд ли дошли до функций..
0
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
18.09.2010, 01:40  [ТС]
программка написана не правильно-она считает сумму страниц. а надо сумму цифр страниц! то есть 11 страница это +2
12 стр это 1+2=3 значит 1+2+3+4+5+6+7+8+9+1+0+1+1+1+2+....
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
18.09.2010, 01:51
wild_flower, считает верно. для 11 страниц по крайней мере точно)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main()
{
     int n;
     std::cout<<"Enter num of pages: ";
     std::cin>>n;
     int pages_sum=0;
     for(int i=1; i<=n; ++i)
     {
          int sum=0;
          int ind=i;
          while(ind)
          { 
              sum+=ind%10;
              ind/=10;
          }
          pages_sum+=sum;
      }
      std::cout<<pages_sum<<'\n';
      return 0;
}
А вот и немного поправленная программа Хохол. Тоже теперь считает верно. Была опечатка в цикле.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
using namespace std;
 
int digitSum(int n)
{
        int res = 0;
        while(n)
        {
                res += n%10;
                n /= 10;
        }
        return res;
}
 
int main()
{
        int n;
        cin >> n;
        int cnt = 0, i = 0;
        while(i < n)
        {
                i++;
                cnt += digitSum(i);
        }
        cout << cnt << endl;
        system("pause");
}
0
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
18.09.2010, 02:16
Все правильно у меня. В задаче спрашивают количество страниц по сумме цифр, а не наоборот.
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
18.09.2010, 02:33
Хохол, ага. понял. ссори)

Но судя вот по этому:

программка написана не правильно-она считает сумму страниц. а надо сумму цифр страниц! то есть 11 страница это +2
12 стр это 1+2=3 значит 1+2+3+4+5+6+7+8+9+1+0+1+1+1+2+....
Я даже не знаю...

Собственно кажется понял что не прав.. Еще раз извиняюсь.

Тогда..

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
int main()
{
     int n;
     std::cout<<"Enter sum of numbers of pages: ";
     std::cin>>n;
     int pages_sum=0;
     int i;
     for(i=1; pages_sum<n; i++)
     {
          int sum=0;
          int ind=i;
          while(ind)
          { 
              sum+=ind%10;
              ind/=10;
          }
          pages_sum+=sum;
          if(pages_sum>n)
             --i;
      }
      std::cout<<i<<'\n';
      return 0;
}
0
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
19.09.2010, 15:43  [ТС]
пожалуйста можно комменты к программе, что зачем и почему...

Добавлено через 3 минуты
Lavroff, комменты сможешь добавить)
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
19.09.2010, 15:45
Ему напишы ещё и обясни,не многовато ли просите ?
0
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
19.09.2010, 15:47  [ТС]
Asics^, если человек может и он эти горит заниматься- посему бы и нет?
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
19.09.2010, 15:49
Цитата Сообщение от wild_flower Посмотреть сообщение
посему бы и нет?
Потомучто он тратит на вас своё время.
1
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
19.09.2010, 15:52
C
1
wild_flower
,
Никому здесь не "горит", как вы выразились, решать чужие домашние задания.
2
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
19.09.2010, 15:54
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
int main()
{
     int n;
     std::cout<<"Enter sum of numbers of pages: ";//Просим ввести сумму номеров страниц
     std::cin>>n;//Вводим
     int pages_sum=0;
     int i;
     for(i=1; pages_sum<n; i++)//Цикл. От i=1 до тех пор пока сумма страниц меньше n
     {
          int sum=0;
          int ind=i;
          while(ind)//Пока ind!=0
          { 
              sum+=ind%10;//Берем последнюю цифру и прибавляем к сумме
              ind/=10;//Делим на 10
          }
          pages_sum+=sum;//Прибавляем к сумме страниц сумму из цикла
          if(pages_sum>n)//Если сумма страниц >n 
             --i;//Убавляем i на единицу
      }
      std::cout<<i<<'\n';//Печатаем i как кол-во страниц
      return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.09.2010, 15:54
Помогаю со студенческими работами здесь

Найти сколько страниц в книге если известно количество цифр затраченных на нумерацию
Доброго времени суток. Решил простенькую задачку, но код получился очень громоздкий, сплошь из if-ов. Может быть существует более красивый...

Как определить количество страниц в книге, если известна сумма его страниц?
Привет друзья. Не получается решать одну задачу. Как определить количество стр в книге, когда суммы его страницы известно. условия...

Определить количество страниц в самой толстой книге
В массиве хранится информация о количестве страниц в каждой из 100 книг. Все страницы имеют одинаковую толщину. Определить количество...

Определить количество страниц в книге по количеству цифр
1. Для нумерации M страниц книги использовали N цифр. По заданным N вывести M или 0, если развязки нет. M не превышает 1001 страницы.

Определить количество страниц в самой толстой книге
В массиве хранится информация о количестве страниц в каждой из 100 книг. Все страницы имеют одинаковую толщину. Определить количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru