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

Найти координаты числа в бесконечной спирали из чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу, организующую заполнение целого массива из n элементов случайными значениями http://www.cyberforum.ru/cpp-beginners/thread990633.html
Написать программу, организующую заполнение целого массива из n элементов случайными значениями (n – целая переменная) и корректный вывод массива.
C++ Компрессия данных Я хочу написать программу (что-то наподобие FreeARC) которая хорошо сжимает данные. Помогите мне подобрать алгоритмы компрессии для текстовой информации и картинок (всех типов), самое главное чтобы после обработки данные имели минимально возможный размер и по возможности бистро розархивировались. Также буду благодарен за предоставление исходных кодов этих (компрессорных) алгоритмов и их... http://www.cyberforum.ru/cpp-beginners/thread990627.html
Определить численную характеристику массива C++
– Создать масив заданым способом; – определить численную характеристику; – сформировать новый масив на основе созданого Объясните суть работы! Раньше не изучал программирование, поэтому ничего не могу понять! Что нужно сделать? напишите тезисно
Ошибка при вводе двумерного массива C++
Здравствуйте! Нужно: 1. Написать программу с использованием двумерного массива для сохраниния данных о месячных продажах книжек (количество книжек, не деньги) за 3 года. 2. Требуется выдать общую сумму (к-во книжек) продаж за каждый год и за все годы вместе. Последнего я не сделал да и программа выдает ошибку под конец ввода. Вот сама программа #include <iostream>
C++ Создать рекурсивную функцию http://www.cyberforum.ru/cpp-beginners/thread990610.html
Водится любое целое число b и вещественныеa, c. Вычислить z=ab +cb, используя рекурсивную функцию xn1, если n = 0 xn= 1/ xn , если n< 0 xxn-1 , если n> 0 Как написать прогу на С++ по этой задаче?
C++ ISO C++ forbids. error #ifndef CPYRAMID_H #define CPYRAMID_H class cPoint3d { public: cPoint3d() : x_(0.0),y_(0.0),z_(0.0) {}; cPoint3d(float,float,float); cPoint3d(const cPoint3d& other); cPoint3d& operator=(const cPoint3d& other); подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
29.10.2013, 00:09     Найти координаты числа в бесконечной спирали из чисел
Не уверен, что оптимально, но как-то так:
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
40
41
#include <iostream>
#include <cstdlib>
 
int main(int argc, char *argv[])
{ 
    const int value = 91;
 
    int v = value - 1;
 
    int helix = 0;
    int start = 1;
    for(; v>0; ++helix )
    {
        v -= (helix+1)*8;
        start += 8*helix;
    }
 
    int sideLen = helix * 2;
 
    int rest = value - start;
 
    int X = helix;
    int Y = -helix;
 
    int sideId = rest / sideLen;
    rest %= sideLen;
 
    switch( sideId )
    {
        case 0: Y += rest; break;
        case 1: Y += sideLen; X -= rest; break;
        case 2: Y += sideLen - rest; X -= sideLen; break;
        case 3: X -= sideLen - rest; break;
    }
 
    std::cout << "(" << X << "," << Y << ")" << std::endl;
 
    std::system( "pause" );
 
    return 0;
}
 
Текущее время: 19:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru