avva: (Default)
[personal profile] avva
Эта запись будет интересна только программистам (ну или еще может математикам). Задача не особенно сложная, комменты скрывать не буду, не смотрите туда, если не хотите спойлеров.

Задача: написать функцию f(x), так, что f(f(x) = -x. Разрешено использовать только
целые числа. x - целочисленный аргумент (например, 32-битный).

Update: интересно, что никто, кажется, не дал правильного решения для 32-битных чисел (для "вообще целых чисел" правильных решений куча).

Update: неудивительно, потому что для 32-битных решения нет! :) У меня был глюк.

Date: 2008-01-17 10:47 pm (UTC)
From: [identity profile] deni-ok.livejournal.com
В моём решении на Хаскелле целое может иметь неограниченый тип. В задаче же сказано - "например, 32-битный" ;)
*Main1> f (f 121242353765876798568679780895756524534657345)
-121242353765876798568679780895756524534657345


Date: 2008-01-18 07:56 am (UTC)
From: [identity profile] http://users.livejournal.com/magister_/
но ведь целое не может иметь неограниченный тип?

Date: 2008-01-18 08:24 am (UTC)
From: [identity profile] deni-ok.livejournal.com
По какой причине?
*Main1> let fac x = if x == 0 then 1 else x * fac (x - 1)
*Main1> fac 100
9332621544394415268169923885626670049071596826438162146859
2963895217599993229915608941463976156518286253697920827223
758251185210916864000000000000000000000000

Date: 2008-01-18 08:26 am (UTC)
From: [identity profile] kurilka.livejournal.com
Ну вообще, конечно, есть ограничение по памяти :)

Date: 2008-01-18 08:32 am (UTC)
From: [identity profile] deni-ok.livejournal.com
Ты знал! Ты знал! :)

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 28th, 2025 07:02 am
Powered by Dreamwidth Studios