Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.04.2008, 21:01
muhactive вне форума Посмотреть профиль Отправить личное сообщение для muhactive Найти все сообщения от muhactive
  № 1  
Ответить с цитированием
muhactive
[+1 10.04.08]
 
Аватар для muhactive

Регистрация: Apr 2008
Адрес: Ukrain
Сообщений: 12
По умолчанию Не вычисляет факториал числа

Функция должна вычислять факториал числа но в ответ выдаёт undefined
Код:
Number.prototype.factorial=function () {
if(isNan(this)==false && isInfinity(this)==false && this>=0 && this-Math.round(this)==0) {
  var factor=1;
  for (var i=1; i<=this; i++) {
	  factor*=i;
	  }
	  return factor;
	    }
		else {
			return Nan;
		}
	}
	var a=5;
	trace (Number.prototype.factorial(a)); //Может сдесь ошибка????
Буду благодарен! Заранее спасибо!


Последний раз редактировалось muhactive; 07.04.2008 в 21:10.
Старый 07.04.2008, 21:30
divinus вне форума Посмотреть профиль Отправить личное сообщение для divinus Найти все сообщения от divinus
  № 2  
Ответить с цитированием
divinus
 
Аватар для divinus

Регистрация: Dec 2005
Адрес: мухосранск
Сообщений: 661
Отправить сообщение для divinus с помощью ICQ
Код:
Number.prototype.factorial = function() {
	if (isNaN(this) == false && this>=0 && this-Math.round(this) == 0) {
		trace("");
		var factor = 1;
		for (var i = 1; i<=this; i++) {
			factor *= i;
		}
		return factor;
	} else {
		return Nan;
	}
};
var a = 3;
trace(a.factorial());
попробуй так
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет...

Старый 07.04.2008, 21:30
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код:
function factorial (a:Number):Number {
	if (a >= 0 && a < Number.MAX_VALUE && a != Number.MIN_VALUE && !isNaN (a)) {
		var factor:Number = 1;
		for (var i:Number = 1; i <= Math.round (a); i++) {
			factor *= i;
		}
		return factor;
	} else {
		return Number.NaN;
	}
}
var a = 5;
trace (factorial (a));
trace (factorial (Number.NaN));
trace (factorial (Number.MIN_VALUE));
trace (factorial (Number.MAX_VALUE));
trace (factorial (Number.NEGATIVE_INFINITY));
trace (factorial (Number.POSITIVE_INFINITY));
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 07.04.2008, 21:43
muhactive вне форума Посмотреть профиль Отправить личное сообщение для muhactive Найти все сообщения от muhactive
  № 4  
Ответить с цитированием
muhactive
[+1 10.04.08]
 
Аватар для muhactive

Регистрация: Apr 2008
Адрес: Ukrain
Сообщений: 12
Спасибо оба ваших кода верны!!!
Вот мой ещё!
Код:
Number.prototype.factorial=function () {
if(isNaN(this)==false && isFinite (this)==true && this>=0 && this-Math.round(this)==0) {
  var factor=1;
  for (var i=1; i<=this; i++) {
	  factor*=i;
	  }
	  return factor;
	    }
		else {
			return Nan;
		}
	};
	var a=5;
	trace (a.factorial());


Последний раз редактировалось muhactive; 07.04.2008 в 21:50.
Старый 07.04.2008, 21:55
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Нет, верный код только мой
А ваши Number.prototype.factorial это безобразие. Вам в голову не приходило, почему у Number нет ни одного метода?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 07.04.2008, 22:10
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 6  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
iNils
через while будет куда быстрее
Цитата:
var i : int = 0;
while(++i <= value) {
factor *= i;
}

Старый 08.04.2008, 01:54
muhactive вне форума Посмотреть профиль Отправить личное сообщение для muhactive Найти все сообщения от muhactive
  № 7  
Ответить с цитированием
muhactive
[+1 10.04.08]
 
Аватар для muhactive

Регистрация: Apr 2008
Адрес: Ukrain
Сообщений: 12
Я и не спорю Ваш код куда лучше Я просто не опытен, только недавно начал разбираться с АС2 и думаю что с моим жиланием и Вашим ЗАМЕЧАТЕЛЬНЫМ форумом у меня всё выйдет

Старый 08.04.2008, 10:47
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Mr. Fixit
iNils
через while будет куда быстрее
Mr. Fixit, вообще-то тут раздел AS1/AS2, если что.

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:55.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.