Форум программистов, компьютерный форум CyberForum.ru

найти количество страниц в книге - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
16.09.2010, 11:38     найти количество страниц в книге #1
вот такая задачка, хм... очень интересная и очень не решаемая!
каждая страница в книге перенумерована с первой по последнюю. Сумма всех цифр номеров =n (1+2+3+4+5+6+7+8+9+(1+0)+(1+1)+(1+2)+..... всего страниц в книге <=9999 написать программу для нахождения количества страниц в этой книге!
использовать только оператор цикла, условный оператор (больше не проходили)
то есть мы вводим какое то число он выводит колво страниц , а число есть сумма цифр номеров страниц
писать на С++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2010, 11:38     найти количество страниц в книге
Посмотрите здесь:

Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе C++
Найти количество четных и количество нечетных элементов ряда C++
найти ошибку(в одномерном массиве найти количество различных элементов) C++
Дан текст, найти количество слов и количество слов, у которых первый и последний символ совпадают C++
В массиве Z (m) найти количество дежурств знака, то есть количество переходов с минуса на плюс и наоборот. Например, в последовательности 0, - 2, 0 - C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Хохол
Эксперт C++
 Аватар для Хохол
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
16.09.2010, 11:54     найти количество страниц в книге #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
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");
}
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
16.09.2010, 11:59  [ТС]     найти количество страниц в книге #3
не понятна 5 строчка и 27)
matroskin
4 / 4 / 1
Регистрация: 15.09.2010
Сообщений: 5
16.09.2010, 12:42     найти количество страниц в книге #4
Вот более простой вариант, выводит только целое количество страниц(если число не является суммой номеров страниц)
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
Хохол
Эксперт C++
 Аватар для Хохол
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
16.09.2010, 13:00     найти количество страниц в книге #5
Цитата Сообщение от wild_flower Посмотреть сообщение
число есть сумма цифр номеров страниц
7 - некорректный тест.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
16.09.2010, 13:08     найти количество страниц в книге #6
Хохол,
Если они не проходили дальше циклов и условных операторов, то вряд ли дошли до функций..
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
18.09.2010, 01:40  [ТС]     найти количество страниц в книге #7
программка написана не правильно-она считает сумму страниц. а надо сумму цифр страниц! то есть 11 страница это +2
12 стр это 1+2=3 значит 1+2+3+4+5+6+7+8+9+1+0+1+1+1+2+....
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
18.09.2010, 01:51     найти количество страниц в книге #8
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");
}
Хохол
Эксперт C++
 Аватар для Хохол
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
18.09.2010, 02:16     найти количество страниц в книге #9
Все правильно у меня. В задаче спрашивают количество страниц по сумме цифр, а не наоборот.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
18.09.2010, 02:33     найти количество страниц в книге #10
Хохол, ага. понял. ссори)

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

программка написана не правильно-она считает сумму страниц. а надо сумму цифр страниц! то есть 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;
}
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
19.09.2010, 15:43  [ТС]     найти количество страниц в книге #11
пожалуйста можно комменты к программе, что зачем и почему...

Добавлено через 3 минуты
Lavroff, комменты сможешь добавить)
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
19.09.2010, 15:45     найти количество страниц в книге #12
Ему напишы ещё и обясни,не многовато ли просите ?
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
19.09.2010, 15:47  [ТС]     найти количество страниц в книге #13
Asics^, если человек может и он эти горит заниматься- посему бы и нет?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
19.09.2010, 15:49     найти количество страниц в книге #14
Цитата Сообщение от wild_flower Посмотреть сообщение
посему бы и нет?
Потомучто он тратит на вас своё время.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
19.09.2010, 15:52     найти количество страниц в книге #15
C
1
wild_flower
,
Никому здесь не "горит", как вы выразились, решать чужие домашние задания.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2010, 15:54     найти количество страниц в книге
Еще ссылки по теме:

C++ Определить количество положительных и количество отрицательных элементов до первого нуля. Найти ошибку в коде
C++ Найти через индекс количество отрицательных и количество положительных элементов массива
Найти количество двух- и количество трехразрядных чисел в заданной последовательности C++

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
19.09.2010, 15:54     найти количество страниц в книге #16
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;
}
Yandex
Объявления
19.09.2010, 15:54     найти количество страниц в книге
Ответ Создать тему
Опции темы

Текущее время: 06:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru