Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
-12 / 0 / 4
Регистрация: 04.10.2014
Сообщений: 272
1

Определить количество способов, какими задуманное число можно представить в виде суммы

04.10.2014, 22:02. Показов 3834. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составить алгоритм, определяющий количество способов, какими задуманное число n>1 можно представить в виде суммы n=i^3+j^3, считая, что перестановка слагаемых нового способа не даёт.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2014, 22:02
Ответы с готовыми решениями:

Каким способов, какими задуманное число n>1 можно представить в виде суммы n=i3+j3
Составить алгоритм, определяющий количество способов, какими задуманное число n>1 можно...

Найти количество способов представить число в виде суммы нечетных слагаемых
Задано целое положительное число n. Требуется найти число способов представить его в виде суммы...

Рекурсия: количество способов представить число М в виде суммы, каждое слагаемое которой не превосходит число N
Нужно написать рекурсивный алгоритм подсчета числа способов, с помощью которых можно представить...

Рекурсия (алгоритм подсчета числа способов, с помощью которых можно представить число М в виде суммы)
Нужно написать рекурсивный алгоритм подсчета числа способов, с помощью которых можно представить...

Найти количество способов представить число в виде суммы различных целых положительных слагаемых
Помогите, пожалуйста решить: Задано целое положительное число n. Сколько существует способов...

2
585 / 488 / 371
Регистрация: 05.11.2013
Сообщений: 1,265
Записей в блоге: 6
05.10.2014, 09:32 2
если нет требований к качеству алгоритма, можно просто перебрать в двойном цикле

C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <math.h>
int main () {
int n=1000,k=0,i,j;
for (i=0; i<n/2; i++)
for (j=0; j<n/2; j++)
if (pow(i,3)+pow(j,3)==n) k++;
printf ("\n%d sposob(ov)",k);
return 0;
}
границу цикла явно можно выбрать умней, чем n/2
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
05.10.2014, 10:41 3
Лучший ответ Сообщение было отмечено artart96 как решение

Решение

1.
Цитата Сообщение от ПерС Посмотреть сообщение
pow(i,3)
В С нет функции pow(int,int);
есть только pow(double a,double b) которая равно exp(b*log(a))
Не думаю, что i*i*i посчитается медленнее, чем exp(3*log(i))

2. Перестановки не считаются новыми способами, значит второй цикл (по j) надо начинать не с нуля, а с j
C
1
2
3
4
5
6
7
8
9
10
int main () 
{
    int n=1000,k=0,i,j;
    for (i=0; i*i*i<=n-1; i++)
        for (j=i; j*j*j<=n-1; j++)
            if ( i*i*i+j*j*j==n) 
                   k++;
   printf ("\n%d sposob(ov)",k);
   return 0;
}
0
05.10.2014, 10:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2014, 10:41
Помогаю со студенческими работами здесь

Найти количество способов представить число в виде суммы различных целых положительных слагаемых
Помогите, пожалуйста решить: Задано целое положительное число n. Сколько существует способов...

Найдите число способов представить число в виде суммы четырех натуральных чисел
Сумма - 2 Задано натуральное число x. Найдите число способов представить его в виде суммы...

Определить, можно ли заданное число представить в виде суммы двух квадратов
Задачка: можно ли заданное число представить в виде суммы двух квадратов. Решил вот так: ...

Определить, можно ли число представить в виде суммы квадратов трех натуральных чисел
Дано натуральные число n . Можно ли представить его в виде суммы трех квадратов натуральных чисел?...

Определить, можно ли заданное натуральное число n представить в виде суммы двух квадратов
Определить, можно ли заданное натуральное число n представить в виде суммы двух квадратов...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru