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

Резать прямоугольник, пока от него не останутся только квадраты. Посчитать их количество. (Оптимизировать программу) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как написать на C++ матрицу http://www.cyberforum.ru/cpp-beginners/thread996494.html
Всем привет! Не могу никак создать программу которая решает матрицу, точнее вот мой вопрос: Напишите сумму 1-ой строки на последнюю строку матрицы В(10,8) ,? ПОМОГИТЕ!
C++ объясните балбесу Есть задание на с++ Пусть N — такое число, что 0xff = 0xc0 + N. Напишите представление числа N в десятичной системе. Понимаю,что перевести надо N, но оно же тут равно 0. Перевод чисел из системы в систему делаю легко,но не понимаю смысл данного задания.Или не обращать внимания,что оно равно 0 и выполнить так как есть? PS:связи с тем кто дал задание не имею,спросил бы там. http://www.cyberforum.ru/cpp-beginners/thread996483.html
Нужно Составить алгоритм расчета по двум формулам C++
Всем привет! Помогите написать код что бы пользователь мог ввести число переменной и программа всё должна посчитать и выдать результат Z1 и Z2 (Ответ должен получиться одинаковый) z1=cos4x+sin2y+(1/4)sin22x-1; z2=sin(x+y)*sin(y-x)
Функции и их вызов. Подскажите C++
Учусь в колледже и по программированию задали программу написать, котоаря бы брала четырёхзначные числа, делила бы их на две части (допустим 3025 делила бы на 30 и 25), складывала эти две полученные части и квадрат этой суммы давал бы это число т.е. (30+25)*(30+25)=3025 и программа должна была найти такие четырехзначные числа, квадрат суммы двух частей которых давал бы это число. Я взял похожий...
C++ class bookshop http://www.cyberforum.ru/cpp-beginners/thread996459.html
Задания: Проект «Книжный магазин»: Создать пустой проект и добавить в него файл main.cpp с функцией main. Создать заголовочный файл book.h (не забывая о стражах включения) и описать в нём класс book со следующими полями и функциями-членами (все поля должны быть в секции private, а функции-члены в секции public, тела функций-членов определять внутри описания класса, если явно не требуется...
C++ Гонка (С++) игра Сперва введешь координату примерно 20х20 и выходит на экран машина а теперь не могу его сдвинуть с места помогите #include <iostream> #include <vector> #include <time.h> #include <cstdlib> #include <conio.h> #include <Windows.h> using namespace std; подробнее

Показать сообщение отдельно
supra7sky
15 / 15 / 1
Регистрация: 07.02.2013
Сообщений: 123

Резать прямоугольник, пока от него не останутся только квадраты. Посчитать их количество. (Оптимизировать программу) - C++

03.11.2013, 19:47. Просмотров 450. Ответов 1
Метки (Все метки)

Есть прямоугольник A x B. Нужно отрезать от него как можно больший квадрат и отбросить его (ставя счетчик в +1). Оставшийся прямоугольник так же резать до тех пор, пока не останется квадрат.

Сделал два варианта:
Вывел формулу (в некоторых случаях работает неправильно):
C++
1
2
if (a > b) swap(a, b); // а всегда меньшая сторона
cnt = ( (a*b)/(a*a) ) + a*b - (a*a)*( (a*b)/(a*a) )
Код, который вроде бы работает правильно, но медленно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
typedef long long longest;
 
int main()
{
    longest a, b, cnt = 0;
    cin >> a >> b;
 
    do {
        if (a > b) swap(a, b);
        b -= a;
        cnt++;
    } while(b != 0);
 
    cout << cnt;
    //system("pause");
    return 0;
}
Задача: уложится в определенное время, например 100 мс. Мне кажется здесь можно использовать формулу, но ее нужно переделать.
Ответы разнятся при числах а= 1 000 000 000, b = 1 100 000 000
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru