Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2011, 22:51   #11
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Код:
double n=181

while(n>1){//насчет условия силна сомневаюсь
    cout<<n<<endl;//будет подтормаживать прогу
    n=n-int(sqrt(n));//и это тоже будет подтормаживать, мало того что вызывается функция,так еще и явное приведение типов
}
n=181 - int(sqrt(181))=12
12- int(sqrt(12))=3
3-int(sqrt(3))=2

а если так ?
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 11.02.2011, 23:03   #12
Д_М
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 92
По умолчанию

Цитата:
Сообщение от kaljan775 Посмотреть сообщение
а если взять корень от этого числа, отбросить дробную часть, вычесть, взять корень, отбросить дробную часть - и так пока не будет минимума ?
Так не получится,
по твоему алгоритму 72 = 64 + 4 + 4 (3 слагаемых)
Правильное решение 72 = 36 +36
Д_М вне форума Ответить с цитированием
Старый 11.02.2011, 23:52   #13
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

да, алгоритм неверен, потому что:
1. он выполняет какое-то совершенное неадекватное действо
2. он неверен потому что надо перемножить между собой int(корень этого числа)* int(корень этого числа) и вычесть из этого числа

72-(int(sqrt(72)))*(int(sqrt(72)))= 72-64=8
8-int(sqrt(8))= 8-4 = 4
4 (int(sqrt(4)))*(int(sqrt(4)))=0

однако! :D корень из 4 = 2 ! :D
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 12.02.2011, 00:09   #14
Акоб
Форумчанин
 
Регистрация: 10.01.2011
Сообщений: 243
По умолчанию

мой код изначальный очень похож на твой, только наоборот

Obey-Kun дак ссылку на правильное решение
boomer тоже правильно решил(код не проверял, но алгоритм правельный)



Код:
#include <iostream>
#include <cmath>
using namespace std;
int data[60001];
int main()
{
    int n;
    cin>>n;
    data[1]=1;
    data[2]=2;
    for (int i=3;i<=n;++i) {
        int min=data[i-1]+1;
        for (int j=2;j<=245;++j) {
            if (i>=j*j) {
               if (min>data[i-j*j]+1) min=data[i-j*j]+1;
            }
            else break;
        }
        data[i]=min;
    }
    cout<<data[n];
    return 0;
}

boomeer дай пожалуйста решение задачи цифры фибаначи, если он готов.

Последний раз редактировалось Акоб; 12.02.2011 в 00:14.
Акоб вне форума Ответить с цитированием
Старый 12.02.2011, 08:05   #15
boomeer
Форумчанин
 
Аватар для boomeer
 
Регистрация: 04.08.2010
Сообщений: 110
По умолчанию

Это ж динамика, я сразу написал =) Зачем формулу то искали? =)
Я сейчас в другом городе, буду только 17го. Приеду - в той теме код напишу
boomeer вне форума Ответить с цитированием
Старый 12.02.2011, 08:15   #16
boomeer
Форумчанин
 
Аватар для boomeer
 
Регистрация: 04.08.2010
Сообщений: 110
По умолчанию

Нет, можно, конечно, не через динамику, но это очень плохой стиль.
Код:
#include<iostream>

using namespace std;

int main()
{
int i,j,k;
long int n;

cin>>n;

for(i=1;(i*i)<=n;i++)
    if((i*i)==n)
    {
    cout<<1;
    return 0;
    }
for(i=1;i*i<=n;i++)
    for(j=1;j*j<=n;j++) if((i*i+j*j)==n)
        {
        cout<<2;
        return 0;
        }

for(i=1;i*i<=n;i++)
    for(j=1;j*j<=n;j++)
        for(k=1;k*k<=n;k++) if((i*i+j*j+k*k)==n)
            {
            cout<<3;
            return 0;
            }

cout<<4;
return 0;
}
Я похожим образом на отборочным иоип сделал себе 45 баллов за random (5) =)
boomeer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Квадратная матрица Muratik Общие вопросы C/C++ 3 26.12.2010 22:57
квадратная матрица Di-em Общие вопросы C/C++ 6 09.12.2010 19:11
квадратная матрица remember me Помощь студентам 2 08.12.2010 16:41
Квадратная матрица arhan Общие вопросы Delphi 3 22.06.2010 09:44
Pascal, задача квадратная матрица+процедура Antowka Помощь студентам 6 13.11.2008 16:52