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

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

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

Студворк — интернет-сервис помощи студентам
Спичечная модель
Профессор Самоделкин решил изготовить объемную модель кубиков из спичек, используя спички для рёбер кубиков. Длина ребра каждого кубика равна одной спичке.
Для построения модели трех кубиков он использовал 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.03.2012, 15:01
Ответы с готовыми решениями:

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

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

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

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

Не по теме:

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



Добавлено через 1 минуту
Цитата Сообщение от SeryZone Посмотреть сообщение
компилятор С++ не видит функцию sqrt для целых чисел
Так в чём проблема сделать приведение к вещественному? sqrt(double(integer_argument));
0
 Аватар для Taras_Z
102 / 86 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
10.03.2012, 20:15
sqrt работает только с float double и т.д тоесть вещественными!
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
10.03.2012, 20:54
Какое наименьшее количество спичек нужно Самоделкину для построения модели из N кубиков?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2012, 20:54
Помогаю со студенческими работами здесь

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

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

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

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

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


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

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

Новые блоги и статьи
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js - вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями - этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Введение в Q# - язык квантовых вычислений от Microsoft
EggHead 19.05.2025
Microsoft вошла в гонку технологических гигантов с собственным языком программирования Q#, специально созданным для разработки квантовых алгоритмов. Но прежде чем погружаться в синтаксические дебри. . .
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
Аугментация изображений с Python
AI_Generated 18.05.2025
Собрать достаточно большой датасет для обучения нейронной сети — та ещё головная боль. Часами вручную размечать картинки, скармливать их ненасытным алгоритмам и молиться, чтобы модель не сдулась при. . .
Исключения в Java: советы, примеры кода и многое другое
Javaican 18.05.2025
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль. . . Список можно продолжать до бесконечности. . . .
Как сделать SSO (Single Sign-On) в C# приложении
stackOverflow 18.05.2025
SSO — это механизм, позволяющий пользователю пройти аутентификацию один раз и получить доступ к нескольким приложениям без повторного ввода учетных данных. Вы наверняка сталкивались с ним, когда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru