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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
#1

Представить целое число N в виде суммы M примерно равных целых чисел. - C++

30.04.2011, 19:59. Просмотров 1625. Ответов 6
Метки нет (Все метки)

Разбиение на части
(Время: 1 сек. Память: 16 Мб Сложность: 21%)

Необходимо представить целое число N в виде суммы M примерно равных целых чисел. Будем считать, что числа примерно равны, если они отличаются друг от друга не более чем на единицу.
Входные данные

Во входном файле INPUT.TXT записаны два натуральных числа N и M через пробел, каждое из которых не превосходит 30000.
Выходные данные

Выходной файл OUTPUT.TXT должен содержать M примерно равных целых чисел, сумма которых должна быть равна N. Все числа следует вывести в одной строке в порядке неубывания через пробел.
1) INPUT.TXT
13 4
1) OUTPUT.TXT
3 3 3 4
2) INPUT.TXT
72 8
2) OUTPUT.TXT
9 9 9 9 9 9 9 9
В голове не приходит нормального решения.

 Комментарий модератора 
Именуйте темы осмысленно! Название темы должно максимально полно отражать её содержимое.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2011, 19:59     Представить целое число N в виде суммы M примерно равных целых чисел.
Посмотрите здесь:

Определить, можно ли заданное число представить в виде суммы двух квадратов C++
C++ Дано натуральное число n. Можно ли представить его в виде суммы трех квадратов натуральных чисел?
Можно ли заданное натуральное число М представить в виде суммы квадратов двух натуральных чисел? C++
Представьте число в виде суммы трех приблизительно равных натуральных чисел C++
Вывести наименьшее натуральное число, которое можно представить двумя разными способами в виде суммы кубов двух натуральных чисел C++
Определить, можно ли представить число в виде суммы двух квадратов натуральных чисел C++
C++ Натуральное число n представить в виде суммы трех полных квадратов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
1924 / 1190 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
30.04.2011, 20:14     Представить целое число N в виде суммы M примерно равных целых чисел. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
main(){
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int a,b,i,c;
    cin >> a
        >> b;
    c=a-a/b*b;
    for (i = 0; i < b-c; i++)
        cout << a/b << ' ';
    for (i = 0; i < c; i++)
        cout << a/b+1 << ' ';
    return 0;
}
Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
30.04.2011, 20:21  [ТС]     Представить целое число N в виде суммы M примерно равных целых чисел. #3
diagon, значение с всегда будет равно нулю?
diagon
Higher
1924 / 1190 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
30.04.2011, 20:23     Представить целое число N в виде суммы M примерно равных целых чисел. #4
Нет, деление ведь целочисленное... т.е. a не всегда равно a/b*b.
К примеру, если а=4, а b=3, то с=4-4/3*3=4-3=1;
Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
30.04.2011, 20:24  [ТС]     Представить целое число N в виде суммы M примерно равных целых чисел. #5
diagon, точняк!!))) Я труба над ней голову ломал, а все так просто)))
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
30.04.2011, 20:54     Представить целое число N в виде суммы M примерно равных целых чисел. #6
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
  int a = 11, b = 4, c = 0;
  for( ;b;a-=c,--b )
  {
     std::cout << (c = a/b) << " ";
  }    
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2011, 23:20     Представить целое число N в виде суммы M примерно равных целых чисел.
Еще ссылки по теме:

Можно ли представить N! в виде произведения трех последовательных целых чисел? C++
Разбить целое число на сумму трех, не равных нулю чисел C++
Определить, можно ли представить число N в виде суммы кубов трех натуральных чисел C++
C++ Определить, можно ли число представить в виде суммы квадратов трех натуральных чисел
C++ Оптимизировать поиск числа способов представить число в виде суммы четырёх положительных целых чисел

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

Или воспользуйтесь поиском по форуму:
Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
30.04.2011, 23:20  [ТС]     Представить целое число N в виде суммы M примерно равных целых чисел. #7
alex_x_x,
C++
1
2
3
4
for( ;b;a-=c,--b )
  {
     std::cout << (c = a/b) << " ";
  }
Какой страшный кусок, поясните буду очень признателен.
Yandex
Объявления
30.04.2011, 23:20     Представить целое число N в виде суммы M примерно равных целых чисел.
Ответ Создать тему
Опции темы

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