С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Число разложений без повторений ! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите решать задачи http://www.cyberforum.ru/cpp-beginners/thread54011.html
Даны натуральные числа m и n. Найти такие числа m1 и n1, не имеющие общих делителей, что m1/n1=m/n. Числа m и n ввести с клавиатуры. Дано натуральное число n. Напечатать в порядке возрастания все...
C++ Напечатать каждое слово с новой строки Задача: написать программу, принимающую вводимый пользователем текст, и преобразовывающая его так, чтобы каждое слово печаталось на отдельной строчке. Условия: 1. Не мудрите. Не стройте... http://www.cyberforum.ru/cpp-beginners/thread54009.html
Указатели C++
Как правильно надо работать с указателями?? И для чего они служат??
Ошибка компилляции C++
Пожалуйста помогите!!!не могу найти ошибку при запуске пишет не найден ехе файл.
C++ Проблемма с кодом http://www.cyberforum.ru/cpp-beginners/thread53981.html
Помогите пожалуйста,если кто знает, нужно перевести этот код на С++. procedure OGI(R,S,M,N:integer;Var A:matrix); {R,S – разрешающий элемент} Var i,j:integer; begin for i:=1 to M do for...
C++ Что такое возврат каретки? \r - что делает этот управляющий символ, и чем он отличается от \n? подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,864
04.10.2009, 14:28
alibaba314, Слово "неупорядоченные" смущает... А так вот:
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
#include <stdio.h>
#include <locale.h>
 
/*
    напишите програму , которая считает количество разложений Q(N) 
    данного натурального числа N на неупорядоченные слагаемые без повторений. 
    например, для N=5 есть 3 различных разложений 5=5=4+1=3+2. 
    разложения считаются различными если множества слагаемых различаются.
*/
 
int main(){
    int n, head, tail, count;
    
    setlocale(LC_ALL, "Russian");
    
    while ( 1 ){
        printf("\nВведите целое число большее нуля, или 0 для выхода: ");
        scanf("%d", &n);
        if ( !n )
            break;
        for ( head = n, tail = 0, count = 0; head >= tail; count++, head--, tail++ )
            printf("%d = %d + %d\n", n, head, tail);
        printf("%d способов разложить число %d на слагаемые\n", count, n);
    }
    
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.