помощ спешно

Подфорум към Факултета по математика и информатика

Модератори: Methuselah, thegirl

Заключено
Аватар
fashion_girl
В началото бе словото
Мнения: 32
Регистриран на: 22 Апр 2009, 19:29
Специалност: Математика и информатика задочно
Пол: Жена
Курс: първи
Skype: martina_mollova

помощ спешно

Мнение от fashion_girl »

моля за помощ за една задача

ЗАДАЧА - функция,която проверя дали число е равно на сумата на кубовете на цифрите си

Някои идея???
invisible
Легендарен флуудър
Мнения: 7687
Регистриран на: 27 Окт 2009, 22:37
Обратна връзка:

Re: помощ спешно

Мнение от invisible »

идеи :roll:
чудиш се как да вземеш цифрите на числото или как да го повдигаш на ^3
алгоритъма ли не ти е ясен или искаш кода направо

това е проста задача :lol:
http://sphotos.ak.fbcdn.net/hphotos-ak- ... 7502_n.jpg
Изображение
Аватар
fashion_girl
В началото бе словото
Мнения: 32
Регистриран на: 22 Апр 2009, 19:29
Специалност: Математика и информатика задочно
Пол: Жена
Курс: първи
Skype: martina_mollova

Re: помощ спешно

Мнение от fashion_girl »

алгоритама за жалост
Аватар
Etiainen
Легендарен флуудър
Мнения: 3349
Регистриран на: 28 Фев 2009, 17:06
Специалност: икономика (+английски)
Пол: Жена
Курс: семестриално завършил
Местоположение: София

Re: помощ спешно

Мнение от Etiainen »

issoax написа:това е проста задача :lol:
http://sphotos.ak.fbcdn.net/hphotos-ak- ... 7502_n.jpg
Нееееееееееее :lol: :lol: :lol: :lol: :lol: :lol:
For a moment your eyes open and you know
All the things I ever wanted you to know.
I don't know you, and I don't want to..
Till the moment your eyes open and you know.


Моето творчество - Windy Sunset's Creations :D
Аватар
FloWersOfEviL
Легендарен флуудър
Мнения: 11286
Регистриран на: 21 Юли 2008, 18:46
Специалност: Стопанско управление с френски език
Пол: Жена
Курс: четвърти
Местоположение: Пловдив/София
Обратна връзка:

Re: помощ спешно

Мнение от FloWersOfEviL »

Исо е безмилостен!
Аре помогни на мадамата, нал си от ФъМъИ-то?
Our best dreams are not dreamed alone, but together.
invisible
Легендарен флуудър
Мнения: 7687
Регистриран на: 27 Окт 2009, 22:37
Обратна връзка:

Re: помощ спешно

Мнение от invisible »

жалко че на зайците само лесни задачи им дават :cry:
Изображение
Аватар
fak
Легендарен флуудър
Мнения: 6841
Регистриран на: 14 Сеп 2008, 16:03
Обратна връзка:

Re: помощ спешно

Мнение от fak »

issoax написа:жалко че на зайците само лесни задачи им дават :cry:
на нея, ако й беше лесно, нямаше да моли за помощ ;)

все още можеш да се уредиш с пълна програма ;)
la douleur exquise
invisible
Легендарен флуудър
Мнения: 7687
Регистриран на: 27 Окт 2009, 22:37
Обратна връзка:

Re: помощ спешно

Мнение от invisible »

:lol:s пак че е кака да па просветли :*
Изображение
Аватар
bggashnik
Пишеща машина
Мнения: 871
Регистриран на: 01 Фев 2009, 18:44
Специалност: Компютърни науки
Пол: Мъж
Курс: първи
Местоположение: Плевен/София

Re: помощ спешно

Мнение от bggashnik »

Код за потвърждение: Избери целия код

#include<iostream>
#include<ext/numeric>
#define Pow __gnu_cxx::power
using namespace std;
bool isEqual(unsigned long long n)
{
     unsigned long long s=0,crnt=n;
     while(crnt!=0)
     {
                s+=Pow(crnt%10,3);
                crnt/=10;
     }
if(n==s)return true;
return false;
}
int main()
{
    unsigned long long n;
    int i;
    for(i=1;i<=500;i++)if(isEqual(i))cout<<i<<' ';
    cout<<'\n';
    system("PAUSE");
    return 0;
}
Компилирано и работи на Dev-C++ 4.9.9.2 ;)
Компютърни науки I курс
Аватар
morfei
Форумно зомби
Мнения: 1975
Регистриран на: 19 Апр 2009, 16:17
Специалност: Компютърни науки
Пол: Мъж
Курс: първи
Местоположение: Софията

Re: помощ спешно

Мнение от morfei »

Не съм наясно какъв материал сте взели, затова съм го написал по ламерски начин(не като bggashnik).Ако нещо не разбираш от неговия код или не сте го учили, използвай този. Трябва да ти го признаят, докато при по-горния има голяма вероятно да се усетят, че не си го писала ти.

Код за потвърждение: Избери целия код

void check(int a) //Не знам дали сте учили булеви функции
{
int p = a,sum=0,t;
while(p>0)
{
t = p%10;
sum+=t*t*t; //не знам дали сте взимали математическите библиотеки
p/=10;
}
if(sum == a) cout<<"Da.";
else cout<<"Ne.";
cout<<endl;
}
Не е тествано, но не мисля, че има и нужда.
Компютърни науки 1 курс
Аватар
bggashnik
Пишеща машина
Мнения: 871
Регистриран на: 01 Фев 2009, 18:44
Специалност: Компютърни науки
Пол: Мъж
Курс: първи
Местоположение: Плевен/София

Re: помощ спешно

Мнение от bggashnik »

А ето и алгоритъмът:

Ще обясня само какво прави функцията, другото е ясно(един фор до 500 и проверка на функцията :mrgreen: )
Функцията вика числото n.Нека предположим, че n e числото 153. Инициализираме две променливи s=0 и crnt=n.Тъй като s ще ни бъде сумата на кубовете на цифрите, затова и трябва първоначално да е нула. Пускаме цикъл

Код за потвърждение: Избери целия код

while crnt!=0
и ще започнем да взимаме цифрите на crnt отзад-напред. За тази цел, всеки начинаещ програмист трябва да знае, че

Код за потвърждение: Избери целия код

crnt%10
винаги връща последната цифра на дадено число. Следователно,

Код за потвърждение: Избери целия код

crnt%10
ще ни върне числото 3, а операцията

Код за потвърждение: Избери целия код

Pow(crnt%10,3)
ще ни върне последната цифра на crnt на 3та степен. Събираме това число към s(което ни е нула) и вече последната цифра е обработена. Тъй като искаме вече да стигнем по предпоследната, идеята е предпоследната да ни стане последна, а това става като разделим целочислено на 10. Следователно, ако 153 разделим целочислено на 10, ще ни върне 15 и вече предпоследната цифра е последна :) :mrgreen: Така алгоритъмът продължава, докато crnt не стане равно на 0, а това ще стане, когато първата цифра разделим на 10(1 делено на 10 =0)В момента на излизане от цикъла s вече е сумата на кубовете на цифрите и единственото, което ни остава, е да сравним s със n. Функцията връща булева стойност true(истина), ако условието е изпълнено(т.е. n е равно на сумата на кубовете на цифрите си), и false(лъжа), ако не е изпълнено.


Не знам дали обясних добре, кажи, ако нещо те притеснява или не си разбрала, за първи път обяснявам така задача :mrgreen: :lol:
Компютърни науки I курс
invisible
Легендарен флуудър
Мнения: 7687
Регистриран на: 27 Окт 2009, 22:37
Обратна връзка:

Re: помощ спешно

Мнение от invisible »

това му се вика да подбиваш пазара :mrgreen:
алооу .. ще ви пратя г класите :lol:
Изображение
Аватар
bggashnik
Пишеща машина
Мнения: 871
Регистриран на: 01 Фев 2009, 18:44
Специалност: Компютърни науки
Пол: Мъж
Курс: първи
Местоположение: Плевен/София

Re: помощ спешно

Мнение от bggashnik »

Аз, за разлика от тебе, съм доволен и само на снимка, да плакна окото :lol:
Компютърни науки I курс
invisible
Легендарен флуудър
Мнения: 7687
Регистриран на: 27 Окт 2009, 22:37
Обратна връзка:

Re: помощ спешно

Мнение от invisible »

тюю бетер индици :lol:
Изображение
Аватар
bggashnik
Пишеща машина
Мнения: 871
Регистриран на: 01 Фев 2009, 18:44
Специалност: Компютърни науки
Пол: Мъж
Курс: първи
Местоположение: Плевен/София

Re: помощ спешно

Мнение от bggashnik »

Хахаха, разбирам за какво говориш, и при мене индииците много подбиват цените :lol: Ама, както виждаш, и аз не им се давам, трябва да се яде все пак :mrgreen: :mrgreen:
Компютърни науки I курс
Заключено

Обратно към “ФМИ”