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

Перевод с С++ на Pascal - C++

Восстановить пароль Регистрация
 
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
09.03.2012, 15:01     Перевод с С++ на Pascal #1
Спичечная модель
Профессор Самоделкин решил изготовить объемную модель кубиков из спичек, используя спички для рёбер кубиков. Длина ребра каждого кубика равна одной спичке.
Для построения модели трех кубиков он использовал 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 для целых чисел! И ещё одно: в программе файлы не нужны!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2012, 15:01     Перевод с С++ на Pascal
Посмотрите здесь:

перевод из PASCAL в C++ C++
C++ Перевод из pascal в С
C++ перевод с Pascal на C++
C++ Перевод из Pascal в C++
Перевод с pascal на c++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DarthNamik
 Аватар для DarthNamik
2 / 2 / 0
Регистрация: 01.03.2010
Сообщений: 18
10.03.2012, 18:03     Перевод с С++ на Pascal #2
Конечно не видит функцию SQRT, потому что функция возведения в степень
pow(число,степень);
Например: pow(3,2) - это число 3 в квадрате, то есть выведется число девять!
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
10.03.2012, 19:57     Перевод с С++ на Pascal #3

Не по теме:

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



Добавлено через 1 минуту
Цитата Сообщение от SeryZone Посмотреть сообщение
компилятор С++ не видит функцию sqrt для целых чисел
Так в чём проблема сделать приведение к вещественному? sqrt(double(integer_argument));
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
10.03.2012, 20:15     Перевод с С++ на Pascal #4
sqrt работает только с float double и т.д тоесть вещественными!
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
10.03.2012, 20:54     Перевод с С++ на Pascal #5
Какое наименьшее количество спичек нужно Самоделкину для построения модели из N кубиков?
Yandex
Объявления
10.03.2012, 20:54     Перевод с С++ на Pascal
Ответ Создать тему
Опции темы

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