Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как загонать фибоначи в массив / 17 сообщений из 17, страница 1 из 1
06.10.2006, 15:13:43
    #34038060
Pavlentus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
Вот исходник чисел фибоначи, дальше не врубаюсь.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 public   class  Fibonacci 
{
	 final   static   int  x =  50 ;

	 public   static   void  main(String[] args) 
	{
		 int  lo =  1 ;
		 int  hi =  1 ;
		
		
		System.out.println("Chisla Fibonacci");
		System.out.println(lo);
		 while (hi < x)
		{
			System.out.println(hi);
			hi = lo + hi;
			lo = hi - lo;
		}
	}

}
...
Рейтинг: 0 / 0
06.10.2006, 15:34:49
    #34038142
unicornmirage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
Код: plaintext
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.
 public   class  Fibonacci 
{
	 final   static   int  x =  50 ;
        

	 public   static   void  main(String[] args) 
	{
		 int  lo =  1 ;
		 int  hi =  1 ;
		
                ArrayList list =  new  ArrayList();

		
		System.out.println("Chisla Fibonacci");
		System.out.println(lo);
		 while (hi < x)
		{
			//System.out.println(hi);
                        list.add(hi);
			hi = lo + hi;
			lo = hi - lo;
		}

                 int [] array =  new   int [list.size()];
                list.toArray(array);
                
                 
	}

}
...
Рейтинг: 0 / 0
06.10.2006, 16:34:46
    #34038397
Pavlentus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
Жалуется на ArrayList - cannot be resolved to a type.
...
Рейтинг: 0 / 0
06.10.2006, 16:44:46
    #34038441
он же
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
PavlentusЖалуется на ArrayList - cannot be resolved to a type.
Иди почитай какую-нить книжку про Java.
...
Рейтинг: 0 / 0
06.10.2006, 16:58:32
    #34038509
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
PavlentusВот исходник чисел фибоначи, дальше не врубаюсь.

Так это потому, что исходник не очень хорошо читается/

Нужно его поправить:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 public   class  Fibonacci {
     final   static   int  $ =  2  * ( 2  * ( 2  * ( 2  * ( 2  +  1 )))) +  1 ;
     public   static   void  main(String[] args) {
        System.out.println("Chisla Fibonacci");
         int  _, __;
        System.out.println(__ = -(_ = - 1 ));
         while  (__ < $) {
            System.out.println(-(_ = -(_ += __ -= _)));
        }
    }
}
Теперь сразу понятно, что нужно сделать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 import  java.util.ArrayList;
 import  java.util.Arrays;
 public   class  Fibonacci {
     final   static   int  $ =  2  * ( 2  * ( 2  * ( 2  * ( 2  +  1 )))) +  1 ;
     public   static   void  main(String[] args) {
        System.out.println("Chisla Fibonacci");
        Integer[] chisla =  new  ArrayList<Integer>() {
             int  _, __;
            Integer[] _() {
                add(__ = -(_ = --__));
                 while  (__ < $) {
                    add(-(_ = -(_ += __ -= _)));
                }
                 return  toArray( new  Integer[size()]);
            }
        }._();
        System.out.println(Arrays.asList(chisla));
    }
}
...
Рейтинг: 0 / 0
06.10.2006, 17:08:20
    #34038551
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
Издеваешсо?
...
Рейтинг: 0 / 0
06.10.2006, 17:48:57
    #34038677
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
maytonИздеваешсо?
Почему же?
Благодоря ясности кода, изменить тип массива с
Integer[] на int[] очень просто:

Код: plaintext
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.
 import  java.util.ArrayList;
 import  java.util.Iterator;
 public   class  Fibonacci {
     final   static   int  $ =  2  * ( 2  * ( 2  * ( 2  * ( 2  +  1 ))) +  1 );
     public   static   void  main(String[] args) {
        System.out.println("Chisla Fibonacci");
         int [] chisla =  new  ArrayList<Integer>() {
             int  _, __;
             int [] $$ =  new   int []{};
             int [] _() {
                add(__ = -(_ = --__));
                 while  (__ < $) {
                    add(-(_ = -(_ += __ -= _)));
                }
                 return  _(iterator());
            }
             int [] _(Iterator<Integer> _) {
                 if  (_.hasNext()) {
                     int  __ = _.next();
                    System.arraycopy(_(_),  0 , $$ =  new   int [ this .__ = $$.length +  1 ],  1 , -- this .__);
                    $$[ 0 ] = __;
                }
                 return  $$;
            }
        }._();
         for  ( int  i : chisla) System.out.println(i);
    }
}
...
Рейтинг: 0 / 0
06.10.2006, 17:52:47
    #34038688
unicornmirage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
PavlentusЖалуется на ArrayList - cannot be resolved to a type.
извини, не подумал что ты работаешь на jdk ниже 1.5

тогда нужно добавлять в список не так:

Код: plaintext
1.
list.add(hi);

а так:
Код: plaintext
1.
list.add( new  Integer(hi));

и перевод из списка в массив int будет уже по другому
...
Рейтинг: 0 / 0
06.10.2006, 17:57:01
    #34038704
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
unicornmirageи перевод из списка в массив int будет уже по другому
Таким образом
unicornmirage
int[] array = new int[list.size()];
list.toArray(array);

даже в jdk1.5 ничего не получится.
...
Рейтинг: 0 / 0
06.10.2006, 18:00:10
    #34038711
unicornmirage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
NotGonnaGetUs unicornmirageи перевод из списка в массив int будет уже по другому
Таким образом
unicornmirage
int[] array = new int[list.size()];
list.toArray(array);

даже в jdk1.5 ничего не получится.

ну ошибся, с кем не бывает
...
Рейтинг: 0 / 0
06.10.2006, 23:15:57
    #34039086
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
NotGonnaGetUs
Код: plaintext
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.
 import  java.util.ArrayList;
 import  java.util.Iterator;
 public   class  Fibonacci {
     final   static   int  $ =  2  * ( 2  * ( 2  * ( 2  * ( 2  +  1 ))) +  1 );
     public   static   void  main(String[] args) {
        System.out.println("Chisla Fibonacci");
         int [] chisla =  new  ArrayList<Integer>() {
             int  _, __;
             int [] $$ =  new   int []{};
             int [] _() {
                add(__ = -(_ = --__));
                 while  (__ < $) {
                    add(-(_ = -(_ += __ -= _)));
                }
                 return  _(iterator());
            }
             int [] _(Iterator<Integer> _) {
                 if  (_.hasNext()) {
                     int  __ = _.next();
                    System.arraycopy(_(_),  0 , $$ =  new   int [ this .__ = $$.length +  1 ],  1 , -- this .__);
                    $$[ 0 ] = __;
                }
                 return  $$;
            }
        }._();
         for  ( int  i : chisla) System.out.println(i);
    }
}


Гы. Мне тоже нравится вот эта вешь
...
Рейтинг: 0 / 0
07.10.2006, 17:34:46
    #34039611
Pavlentus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
А более непонятным кодом нельзя было :)
...
Рейтинг: 0 / 0
07.10.2006, 17:48:14
    #34039632
XMLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
Бугогагагага! Если постараться - можно
...
Рейтинг: 0 / 0
10.10.2006, 14:33:59
    #34044480
Pavlentus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
А на понятном языке как будет?
...
Рейтинг: 0 / 0
10.10.2006, 15:00:36
    #34044611
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
Вам уже все ответили. Идите книжку по Java читайте, базовые понятия здесь вряд ли кому интересно объяснять.
...
Рейтинг: 0 / 0
10.10.2006, 15:03:54
    #34044627
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
PavlentusА на понятном языке как будет?
На понятном так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
(define (fib max)
  (define (did-it a b)
    (cond ((>= max b) (cons b (did-it b (+ a b))))
          (else ())))
  (did-it 0 1))
 
;usage:  (fib 50)
;output: (1 1 2 3 5 8 13 21 34)
...
Рейтинг: 0 / 0
10.10.2006, 15:07:36
    #34044643
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как загонать фибоначи в массив
PavlentusВот исходник чисел фибоначи, дальше не врубаюсь.
Код: plaintext
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.
 import  java.util.ArrayList;

 public   class  Fibonacci 
{
	 final   static   int  x =  50 ;

	 public   static   void  main(String[] args) 
	{
		 int  lo =  1 ;
		 int  hi =  1 ;
                 ArrayList alResult =  new  ArrayList();
		System.out.println("Chisla Fibonacci");
		System.out.println(lo);
		 while (hi < x)
		{
			System.out.println(hi);
                         alResult.add( new  Integer(hi));
			hi = lo + hi;
			lo = hi - lo;
		}
                 // Упаковали данные в ArrayList, 
                 //теперь будем их преобразовывать к int[]:
                 // Вынесем размер в отдельную переменную - 
                 // чтобы не опрашивать каждый раз функцию
                  int  rSize = alResult.size();
                 // Создадим новый массив нужной величины
                  int [] intResult =  new   int [rSize];
                 // Скопируем инфу:
                  for ( int  i= 0 ; i<rSize; i++) {
                         // Преобразуем к нужному типу
                         Integer number = (Integer)alResult.get(i);
                         // Вытащим значение и вставим в массив
                         intResult[i] = number.intValue();
                 }
                 // в intResult лежит ряд Фибоначчи
	}

}
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как загонать фибоначи в массив / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]