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

С++ для начинающих

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

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

09.03.2012, 15:01. Просмотров 1074. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2012, 15:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод с С++ на Pascal (C++):

перевод из Pascal в C++ - C++
Здравствуйте!Задача: Прямоугольный садовый участок шириной N и длиной M метров разбит на квадраты со стороной 1 метр. На этом участке...

Перевод из Pascal в C++ - C++
В файле W задан массив из девяти элементов. В новом файле WW сформировать массив, в котором каждому элементу будет присвоено значение...

перевод с Pascal на C++ - C++
Const Max=1000; Eps=0.00001; Type Para=record X: integer;

Перевод с Pascal на Си++ - C++
Помогите, пожаалуйста перевести код программы с Паскаля на Си++. Очень прошу, помогите. Var S:String; W,Wrd:Array of String; ...

Перевод с Pascal на C++ - C++
Код на паскале, помогите его переписать в С ++ . Очень нужно ребят . Последняя задача. const mi = 100; type matrix = array of...

Перевод из Pascal в C++ - C++
Помогите перевести в С++. Вот код : program Adam; uses crt; var func,x,y,yp:array of real; proiz:array of real; ...

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

Не по теме:

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



Добавлено через 1 минуту
Цитата Сообщение от SeryZone Посмотреть сообщение
компилятор С++ не видит функцию sqrt для целых чисел
Так в чём проблема сделать приведение к вещественному? sqrt(double(integer_argument));
0
Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
10.03.2012, 20:15 #4
sqrt работает только с float double и т.д тоесть вещественными!
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
10.03.2012, 20:54 #5
Какое наименьшее количество спичек нужно Самоделкину для построения модели из N кубиков?
0
10.03.2012, 20:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 20:54
Привет! Вот еще темы с ответами:

Перевод с Pascal на C++ - C++
Помогите пожалуйста перевести код с Pascal на C++, паскаль совсем не знаю. Задание :Дана строка символов, в конце которой стоит точка....

Перевод из Pascal в С++ - C++
Помогите пожалуйста перевести программу из Паскали в С++ var k,n: integer; d: char; procedure AddDigit(s: string); var ...

перевод из PASCAL в C++ - C++
Нужна программа для перевода из 2 в 10 систему счисления и обратно ... нашел на паскале но почти ничего не могу понять . объясните пжл как...

перевод в C++ из Pascal - C++
Кому не сложно переведите пожалуйста программу в С++. Она готова и полностью рабочая. вот на всякий случай сама задача: Таблица...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.