Python (4)
f = lambda n: (3622934801701902697686555901643181168549895964810913375391936802953324275884 >> n) & 1
Damn casting. No trickery here, just magic. Number generated with J: #.x:1 p: i._256
. Output:
for i in enumerate(map(f,range(256))):
...: print i
...:
(0, 0L)
(1, 0L)
(2, 1L)
(3, 1L)
(4, 0L)
(5, 1L)
(6, 0L)
(7, 1L)
(8, 0L)
(9, 0L)
(10, 0L)
(11, 1L)
(12, 0L)
(13, 1L)
(14, 0L)
(15, 0L)
(16, 0L)
(17, 1L)
(18, 0L)
(19, 1L)
(20, 0L)
(21, 0L)
(22, 0L)
(23, 1L)
(24, 0L)
(25, 0L)
(26, 0L)
(27, 0L)
(28, 0L)
(29, 1L)
(30, 0L)
(31, 1L)
(32, 0L)
(33, 0L)
(34, 0L)
(35, 0L)
(36, 0L)
(37, 1L)
(38, 0L)
(39, 0L)
(40, 0L)
(41, 1L)
(42, 0L)
(43, 1L)
(44, 0L)
(45, 0L)
(46, 0L)
(47, 1L)
(48, 0L)
(49, 0L)
(50, 0L)
(51, 0L)
(52, 0L)
(53, 1L)
(54, 0L)
(55, 0L)
(56, 0L)
(57, 0L)
(58, 0L)
(59, 1L)
(60, 0L)
(61, 1L)
(62, 0L)
(63, 0L)
(64, 0L)
(65, 0L)
(66, 0L)
(67, 1L)
(68, 0L)
(69, 0L)
(70, 0L)
(71, 1L)
(72, 0L)
(73, 1L)
(74, 0L)
(75, 0L)
(76, 0L)
(77, 0L)
(78, 0L)
(79, 1L)
(80, 0L)
(81, 0L)
(82, 0L)
(83, 1L)
(84, 0L)
(85, 0L)
(86, 0L)
(87, 0L)
(88, 0L)
(89, 1L)
(90, 0L)
(91, 0L)
(92, 0L)
(93, 0L)
(94, 0L)
(95, 0L)
(96, 0L)
(97, 1L)
(98, 0L)
(99, 0L)
(100, 0L)
(101, 1L)
(102, 0L)
(103, 1L)
(104, 0L)
(105, 0L)
(106, 0L)
(107, 1L)
(108, 0L)
(109, 1L)
(110, 0L)
(111, 0L)
(112, 0L)
(113, 1L)
(114, 0L)
(115, 0L)
(116, 0L)
(117, 0L)
(118, 0L)
(119, 0L)
(120, 0L)
(121, 0L)
(122, 0L)
(123, 0L)
(124, 0L)
(125, 0L)
(126, 0L)
(127, 1L)
(128, 0L)
(129, 0L)
(130, 0L)
(131, 1L)
(132, 0L)
(133, 0L)
(134, 0L)
(135, 0L)
(136, 0L)
(137, 1L)
(138, 0L)
(139, 1L)
(140, 0L)
(141, 0L)
(142, 0L)
(143, 0L)
(144, 0L)
(145, 0L)
(146, 0L)
(147, 0L)
(148, 0L)
(149, 1L)
(150, 0L)
(151, 1L)
(152, 0L)
(153, 0L)
(154, 0L)
(155, 0L)
(156, 0L)
(157, 1L)
(158, 0L)
(159, 0L)
(160, 0L)
(161, 0L)
(162, 0L)
(163, 1L)
(164, 0L)
(165, 0L)
(166, 0L)
(167, 1L)
(168, 0L)
(169, 0L)
(170, 0L)
(171, 0L)
(172, 0L)
(173, 1L)
(174, 0L)
(175, 0L)
(176, 0L)
(177, 0L)
(178, 0L)
(179, 1L)
(180, 0L)
(181, 1L)
(182, 0L)
(183, 0L)
(184, 0L)
(185, 0L)
(186, 0L)
(187, 0L)
(188, 0L)
(189, 0L)
(190, 0L)
(191, 1L)
(192, 0L)
(193, 1L)
(194, 0L)
(195, 0L)
(196, 0L)
(197, 1L)
(198, 0L)
(199, 1L)
(200, 0L)
(201, 0L)
(202, 0L)
(203, 0L)
(204, 0L)
(205, 0L)
(206, 0L)
(207, 0L)
(208, 0L)
(209, 0L)
(210, 0L)
(211, 1L)
(212, 0L)
(213, 0L)
(214, 0L)
(215, 0L)
(216, 0L)
(217, 0L)
(218, 0L)
(219, 0L)
(220, 0L)
(221, 0L)
(222, 0L)
(223, 1L)
(224, 0L)
(225, 0L)
(226, 0L)
(227, 1L)
(228, 0L)
(229, 1L)
(230, 0L)
(231, 0L)
(232, 0L)
(233, 1L)
(234, 0L)
(235, 0L)
(236, 0L)
(237, 0L)
(238, 0L)
(239, 1L)
(240, 0L)
(241, 1L)
(242, 0L)
(243, 0L)
(244, 0L)
(245, 0L)
(246, 0L)
(247, 0L)
(248, 0L)
(249, 0L)
(250, 0L)
(251, 1L)
(252, 0L)
(253, 0L)
(254, 0L)
(255, 0L)
3You might want to explicitly state in the rules that this is a C-specific challenge (even though people tend to dislike language specific challenges). Also: wouldn't this be
[atomic-code-golf]
instead of[code-challenge]
? – ɐɔıʇǝɥʇuʎs – 2014-07-17T12:42:11.6701this is tagged as c, so please write in the question that it should be answered in c. or remove the tag. whatever you choose – proud haskeller – 2014-07-17T12:43:48.660
I do like the rule that casts also cost points: this prevents "look-up tables in disguise" like my answer, which opens up competition. – ɐɔıʇǝɥʇuʎs – 2014-07-17T12:46:31.470
2I think questions like this would produced more satisfying answers if literals were restricted to numbers
0
through9
, disallowing multicharacter literals. Otherwise, you're still going to get massive lookup tables pushing the boundary of the integer size. – xnor – 2014-07-17T13:11:05.1171Adding a new scoring system to a question which already has a ton of variants doesn't really add any value to the site. – Peter Taylor – 2014-07-17T13:14:47.587
@PeterTaylor I wanted this not to be algorithmical problem, but low-level optimisation. – Somnium – 2014-07-17T13:35:28.993
If that is the case, someone would need to compress all those prime number information into a handful of 32 bit constants soon. Hopefully it is still within the bounds of information theory. – Vectorized – 2014-07-17T13:37:29.467
@bitpwner It can be done in 4. – ɐɔıʇǝɥʇuʎs – 2014-07-17T13:40:22.013
@ɐɔıʇǝɥʇuʎs Let do it in a clever way!) – Somnium – 2014-07-17T13:44:19.277
2Why the language restriction? – Kyle Kanos – 2014-07-17T14:46:07.690
1@KyleKanos To prevent using language-specific tricks. And I like C) – Somnium – 2014-07-17T14:53:35.520
4@user2992539: Isn't half the point of this site to see what kind of language-specific tricks one can do? – Kyle Kanos – 2014-07-17T14:54:26.377
@KyleKanos Maybe... – Somnium – 2014-07-17T14:58:32.457
I'm thinking to delete my question, it's a lot more unsuccessful than I thought it will be. – Somnium – 2014-07-17T15:03:40.043
1I like the question, but making it language-specific ruins it - please reconsider. – Paul R – 2014-07-17T21:36:51.463