CODE |
Created with colorer-take5 library. Type 'forth' CODE DUP= [color=#696969; ]( x1 x2 x1 flag )[/color] [color=#696969; ]\ flag "истина" тогда и только тогда, когда x1 побитно равен x2.[/color] XOR EAX, [EBP] SUB EAX, # [color=#008c00; ]1[/color] SBB EAX, EAX RET END-CODE |
=KRoN=, 25.11.2002 04:48:00:Если кто-то для теста сгенерит консольный .class для функции Аккермана для 3,8,8 - я прогоню его у себя и скажу, сколько времени он будет работать
public class Acker [color=#800080; ]{[/color] static [color=#008484; ]int[/color] a[color=#808030; ]([/color][color=#008484; ]int[/color] n[color=#808030; ],[/color] [color=#008484; ]int[/color] x[color=#808030; ],[/color] [color=#008484; ]int[/color] y[color=#808030; ])[/color] [color=#800080; ]{[/color] if[color=#808030; ]([/color]n[color=#808030; ]=[/color][color=#808030; ]=[/color][color=#008c00; ]0[/color][color=#808030; ])[/color] return x[color=#808030; ]+[/color][color=#008c00; ]1[/color][color=#800080; ];[/color] if[color=#808030; ]([/color]y[color=#808030; ]>[/color][color=#008c00; ]0[/color][color=#808030; ])[/color] return a[color=#808030; ]([/color]n[color=#808030; ]-[/color][color=#008c00; ]1[/color][color=#808030; ],[/color]a[color=#808030; ]([/color]n[color=#808030; ],[/color]x[color=#808030; ],[/color]y[color=#808030; ]-[/color][color=#008c00; ]1[/color][color=#808030; ])[/color][color=#808030; ],[/color]x[color=#808030; ])[/color][color=#800080; ];[/color] switch[color=#808030; ]([/color]n[color=#808030; ])[/color] [color=#800080; ]{[/color] case [color=#008c00; ]1[/color][color=#808030; ]:[/color] return x[color=#800080; ];[/color] case [color=#008c00; ]2[/color][color=#808030; ]:[/color] return [color=#008c00; ]0[/color][color=#800080; ];[/color] case [color=#008c00; ]3[/color][color=#808030; ]:[/color] return [color=#008c00; ]1[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] return [color=#008c00; ]2[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] public static [color=#008484; ]void[/color] main[color=#808030; ]([/color][color=#008484; ]String[/color][color=#808030; ][[/color][color=#808030; ]][/color] args[color=#808030; ])[/color] [color=#800080; ]{[/color] [color=#008484; ]System[/color][color=#808030; ].[/color]out[color=#808030; ].[/color]println[color=#808030; ]([/color]a[color=#808030; ]([/color][color=#008c00; ]3[/color][color=#808030; ],[/color][color=#008c00; ]8[/color][color=#808030; ],[/color][color=#008c00; ]8[/color][color=#808030; ])[/color][color=#808030; ])[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] [color=#800080; ]}[/color] |
Balancer, 14.08.2003 10:39:33:Спасиб, но для Java я давно уж поставил себе jdk и сам скомпилил. Только не написал в этот топик. Но, вот стека не хватает, а как указать размер стека мегабайт в 400 - не знаю
trainer, 14.02.2004 14:16:12:А если на MSVC в таком виде?
[color=#808030; ]let[/color] rec a n x y [color=#808030; ]=[/color] match [color=#808030; ]([/color]n[color=#808030; ],[/color] y[color=#808030; ])[/color] with [color=#808030; ]([/color][color=#008c00; ]0[/color][color=#808030; ],[/color] y[color=#808030; ])[/color] [color=#808030; ]->[/color] x[color=#808030; ]+[/color][color=#008c00; ]1[/color] [color=#808030; ]|[/color] [color=#808030; ]([/color][color=#008c00; ]1[/color][color=#808030; ],[/color] [color=#008c00; ]0[/color][color=#808030; ])[/color] [color=#808030; ]->[/color] x [color=#808030; ]|[/color] [color=#808030; ]([/color][color=#008c00; ]2[/color][color=#808030; ],[/color] [color=#008c00; ]0[/color][color=#808030; ])[/color] [color=#808030; ]->[/color] [color=#008c00; ]0[/color] [color=#808030; ]|[/color] [color=#808030; ]([/color][color=#008c00; ]3[/color][color=#808030; ],[/color] [color=#008c00; ]0[/color][color=#808030; ])[/color] [color=#808030; ]->[/color] [color=#008c00; ]1[/color] [color=#808030; ]|[/color] [color=#808030; ]([/color]n[color=#808030; ],[/color] [color=#008c00; ]0[/color][color=#808030; ])[/color] [color=#808030; ]->[/color] [color=#008c00; ]2[/color] [color=#808030; ]|[/color] [color=#808030; ]([/color]n[color=#808030; ],[/color] y[color=#808030; ])[/color] [color=#808030; ]->[/color] [color=#808030; ]([/color]a [color=#808030; ]([/color]n[color=#808030; ]-[/color][color=#008c00; ]1[/color][color=#808030; ])[/color] [color=#808030; ]([/color]a n x [color=#808030; ]([/color]y[color=#808030; ]-[/color][color=#008c00; ]1[/color][color=#808030; ])[/color][color=#808030; ])[/color] x[color=#808030; ])[/color] [color=#808030; ];[/color][color=#808030; ];[/color] print[color=#808030; ]_[/color]int[color=#808030; ]([/color]a [color=#008c00; ]3[/color] [color=#008c00; ]8[/color] [color=#008c00; ]8[/color][color=#808030; ])[/color][color=#808030; ];[/color] |
trainer, 14.02.2004 14:16:12:дает 11 секунд. Тогда как Ваш вариант - 21 секунду.
Jameson, 01.03.2004 05:29:43 :скажите, она должна выдать 0?
Jameson, 01.03.2004 17:32:51 :Вот черт, похоже, обламываюсь, и в дельфи 8 не сделать стек больше 16 мегабайт..
Jameson, 01.03.2004 17:57:08 :У меня там нули..
>fc /?
Compares two files or sets of files and displays the differences between
them
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]
[drive1:][path1]filename1 [drive2:][path2]filename2
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2
/A Displays only first and last lines for each set of differences.
/B Performs a binary comparison.
/C Disregards the case of letters.
/L Compares files as ASCII text.
/LBn Sets the maximum consecutive mismatches to the specified
number of lines.
/N Displays the line numbers on an ASCII comparison.
/OFF[LINE] Do not skip files with offline attribute set.
/T Does not expand tabs to spaces.
/U Compare files as UNICODE text files.
/W Compresses white space (tabs and spaces) for comparison.
/nnnn Specifies the number of consecutive lines that must match
after a mismatch.
[drive1:][path1]filename1
Specifies the first file or set of files to compare.
[drive2:][path2]filename2
Specifies the second file or set of files to compare.
fc /b
надо
public class Acker
{
static int a(int n, int x, int y)
{
if(n==0)
return x+1;
if(y>0)
return a(n-1,a(n,x,y-1),x);
switch(n)
{
case 1: return x;
case 2: return 0;
case 3: return 1;
}
return 2;
}
public static void main(String[] args)
{
Runnable r = new Runnable(){
public void run(){
System.out.println(a(3,8,8));
System.exit(0);
}
};
(new Thread(r)).start();
}
}