56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
1

Найти наименьшее количество спичек для построения модели из N кубиков (С++ -> Pascal)

09.03.2012, 15:01. Показов 1681. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Спичечная модель
Профессор Самоделкин решил изготовить объемную модель кубиков из спичек, используя спички для рёбер кубиков. Длина ребра каждого кубика равна одной спичке.
Для построения модели трех кубиков он использовал 28 спичек.
Какое наименьшее количество спичек нужно Самоделкину для построения модели из N кубиков?

Все числа в задаче не превышают 2·109.

Технические условия

Входные данные

Одно число N – количество кубиков.


Выходные данные

Одно число – количество спичек.

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
31
32
33
34
35
36
37
38
39
//---------------------------------------------------------------------------
 
#include <stdio.h>
#include <math.h>
int NCube(int n)
                {
                        int c1=(int)(pow(n,1.0/3)+0.5);
                        int c2=(int)(sqrt(n/c1)+0.5);
                        int c3=n/(c1*c2);
                        int S=3*c1*c2*c3+2*(c1*c2+c1*c3+c2*c3)+(c1+c2+c3);
                        int h=n-c1*c2*c3;
                        if(h!=0) {
                                int d1=(int)(sqrt(h)+0.5);
                                if(d1*d1>h) d1--;
                                int d2=h/d1;
                                S+=3*d1*d2+2*(d1+d2)+1;
                                h-=d1*d2;
                                if(h!=0) S+=3*h+2;
                        }
                        return S;
                }
//---------------------------------------------------------------------------
 
int main()
 {
        long N;
        FILE *f;
 
        f = fopen("C:\\input.txt","r");
         fscanf(f, "%d", &N);
        fclose(f);
 
        f = fopen("C:\\output.txt","w");
         fprintf(f, "%d\n", NCube(N));
        fclose(f);
 
        return 0;
 }
//---------------------------------------------------------------------------

Здесь код C++. Но компилятор выдаёт ошибку. Кто хорошо знает C++ и паскаль, помогите "переделать" на паскаль, т.к С++ я плохо понимаю, а компилятор С++ не видит функцию sqrt для целых чисел! И ещё одно: в программе файлы не нужны!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2012, 15:01
Ответы с готовыми решениями:

Какое наименьшее количество спичек нужно Самоделкину для построения модели из N кубиков?
Спичечная модель Профессор Самоделкин решил изготовить объемную модель кубиков из спичек,...

Найти количество металлических и количество деревянных кубиков
Построить типизированный файл данных, который состоит из записей с такими полями: размер кубика,...

Определение модели и элементов для её построения из Симулинк
Добрый всем день! Можете помочь. Дано задание: &quot;Откройте новое окно для программы моделирования....

Создание цикла, для блочного построения 3D модели
Создал программу которая строит кухню из 5 блоков (и 5 разных процедур на создание разных 3D...

4
2 / 2 / 2
Регистрация: 01.03.2010
Сообщений: 18
10.03.2012, 18:03 2
Конечно не видит функцию SQRT, потому что функция возведения в степень
pow(число,степень);
Например: pow(3,2) - это число 3 в квадрате, то есть выведется число девять!
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
10.03.2012, 19:57 3

Не по теме:

Цитата Сообщение от DarthNamik Посмотреть сообщение
Конечно не видит функцию SQRT, потому что функция возведения в степень pow(число,степень);
Причинно-следственная связь? Не, не слышал. :D



Добавлено через 1 минуту
Цитата Сообщение от SeryZone Посмотреть сообщение
компилятор С++ не видит функцию sqrt для целых чисел
Так в чём проблема сделать приведение к вещественному? sqrt(double(integer_argument));
0
102 / 86 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
10.03.2012, 20:15 4
sqrt работает только с float double и т.д тоесть вещественными!
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
10.03.2012, 20:54 5
Какое наименьшее количество спичек нужно Самоделкину для построения модели из N кубиков?
0
10.03.2012, 20:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2012, 20:54
Помогаю со студенческими работами здесь

Найти количество кубиков каждого цвета
Доброе время суток! Помогите пожалуйста! Дан вектор f содержащий сведения о кубиках: размер...

Найти наибольшее количество кубиков одинакового размера
Дан файл, содержащий сведения о кубиках: размер каждого кубика (длина ребра в сантиметрах), его...

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

Найти наименьшее количество купюр и монет для выдачи N рублей
Найти наименьшее количество купюр и монет для выдачи N рублей

Найти наименьшее количество ''троек'' и ''пятерок'' для выплаты n рублей
Найти наименьшее количество ''троек'' и ''пятерок'' для выплаты n рублей. Pascal ABC

Найти наименьшее количество квадратов, необходимых для заполнения прямоугольника
Срочно! Даны натуральные числа а и b, обозначающие стороны некоторого прямо¬угольника. Найти...


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

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

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