4, 8, 15, 16, 23, 42 [ปิด]


90

4, 8, 15, 16, 23, 42

เขียนโปรแกรมที่ให้ลำดับของตัวเลขนี้อย่างไม่สิ้นสุด อย่างไรก็ตามตัวเลขจะต้องไม่ปรากฏในซอร์สโค้ดของคุณทุกที่

ต่อไปนี้ไม่ใช่โปรแกรม Java ที่ถูกต้องในการส่งออก The Numbers เพราะ The Numbers ปรากฏในซอร์สโค้ด:

class TheNumbers {
    public static void main(String[] args) {
        for(int n = 0;;) System.out.println(
            n == 4 ? n = 8 :
            n == 8 ? n = 15 :
            n == 15 ? n = 16 :
            n == 16 ? n = 23 :
            n == 23 ? n = 42 : (n = 4)
        );
    }
}

คำจำกัดความของ"ตัวเลขต้องไม่ปรากฏในซอร์สโค้ดของคุณ"มีดังนี้:

  • คุณต้องไม่ใช้ตัวเลข 4
  • คุณต้องไม่ใช้เลข 8
  • คุณต้องไม่ใช้ตัวเลข 1 ตามด้วยตัวเลข 5
  • คุณต้องไม่ใช้ตัวเลข 1 ตามด้วยตัวเลข 6
  • คุณต้องไม่ใช้ตัวเลข 2 ตามด้วยตัวเลข 3

หากภาษาของคุณละเว้นอักขระบางตัวที่สามารถวางระหว่างตัวเลขได้แสดงว่าไม่ใช่การทดแทนที่ถูกต้อง ตัวอย่างเช่นถ้าภาษาของคุณตีความตัวอักษร1_5เป็น15นี้จะนับเป็นเลข 1 ตามด้วยเลข 5

ฐานทางเลือกจะรวมอยู่ในข้อ จำกัด ดังนั้นตัวอย่างเช่น:

  • ไบนารี 100 ไม่สามารถใช้แทน 4 ได้
  • Octal 10 ไม่สามารถใช้แทนได้ 8
  • Hexadecimal F ไม่สามารถใช้แทน 15

ดังนั้นต่อไปนี้เป็นโปรแกรม Java ที่ถูกต้อง (แต่ไม่ได้รับแรงบันดาลใจมาก) ในการส่งออก The Numbers เพราะ The Numbers ไม่ปรากฏในซอร์สโค้ด:

class TheNumbers {
    public static void main(String[] args) {
        for(int n = '*';;) {
            System.out.println(n -= '&');
            System.out.println(n *= 2);
            System.out.println(n += 7);
            System.out.println(++n);
            System.out.println(n += 7);
            System.out.println(n += 19);
        }
    }
}

โปรดทราบว่าในโปรแกรมนั้น'*'และ'&'ถูกแทนที่ด้วยจำนวนเต็ม 42 และ 38 เพราะมิฉะนั้นตัวเลข 4 และ 8 จะปรากฏในซอร์สโค้ด

คำจำกัดความของ"เอาท์พุทลำดับ"เปิดให้ตีความ ตัวอย่างเช่นโปรแกรมที่ส่งออกร่ายมนตร์จะเล็กลงเรื่อย ๆ จนกว่าพวกเขาจะ "เล็ก" ไม่น่าจะถูกต้อง

ความรุ่งโรจน์ถ้าคุณสามารถสร้างลำดับในบางวิธีที่ไม่ใช่การเข้ารหัสแต่ละหมายเลข

นี่คือการประกวดความนิยมดังนั้นจงสร้างสรรค์ คำตอบที่ได้คะแนนมากที่สุดในวันที่ 26 มีนาคมคือผู้ชนะ


8
ฉันสามารถนับ 6 downvote แต่ไม่มีความคิดเห็น: /
Vereos

11
@Vereos, "นี่เป็นคำถามที่โง่" ไม่สร้างสรรค์มากซึ่งอาจเป็นสาเหตุที่ไม่มีใครโพสต์มันเป็นความคิดเห็น
Peter Taylor

18
ในโลกนี้มีคน 11 ประเภท: คนที่ดูหลงทางคนที่ไม่ได้และคนที่ไม่เข้าใจเลขฐานสอง
ossifrage คลื่นไส้

7
@PeterTaylor แน่นอน แต่ผู้มาใหม่ส่วนใหญ่จะไม่ได้รับสิ่งนั้นและออกจากเว็บไซต์แทนที่จะพยายามปรับปรุงคำถามในอนาคต ฉันเดาว่าThis isn't an interesting question, IMHO, since the solution is pretty trivial. Please post in the sandbox next time.มันจะดีกว่าThis is a stupid question.แต่ก็เป็นเพียงความเห็นส่วนตัวของฉัน
Vereos

3
ฉันสังเกตเห็นว่าคำถามไม่ได้ห้ามส่งออกหมายเลขอื่น ดังนั้นอย่างน้อยที่สุดตามทฤษฎีลิงไม่มีที่สิ้นสุดเครื่องกำเนิดตัวเลขหลอกแบบสุ่มไม่ควรทำการหลอกลวง
kojiro

คำตอบ:


233

ชวา

ฉันตัดสินใจเพิ่มรายการอื่นเนื่องจากนี่แตกต่างจากรายการแรกของฉันอย่างสมบูรณ์ (ซึ่งเป็นเหมือนตัวอย่างมาก)

โปรแกรมนี้คำนวณค่าเฉลี่ยของอาร์เรย์ที่ผู้ใช้ป้อน ...

import java.util.Scanner;

public class Numbers {
    public static double getSum(int[] nums) {
        double sum = 0;
        if(nums.length > 0) {
            for(int i = 0; i <= nums.length; i++) {
                sum += nums[i];
            }
        }

        return sum;
    }

    public static double getAverage(int[] nums) { return getSum(nums) / nums.length; }
    public static long roundAverage(int[] nums) { return Math.round(getAverage(nums)); }

    private static void beginLoop(int[] nums) {
        if(nums == null) {
            return;
        }

        long avg = roundAverage(nums);
        System.out.println("enter nums for average");
        System.out.println("example:");
        System.out.print("array is " + nums[0]);
        for(int i = 1; i <= nums.length; i++) {
            System.out.print(", " + nums[i]);
        }

        System.out.println();
        System.out.println("avg is " + avg);
    }

    private static int[] example = { 1, 2, 7, 9, };

    public static void main(String[] args) {
        boolean done = false;
        while(!done) {
            try {
                int[] nums = example;
                beginLoop(nums);

                nums = getInput();
                if(nums == null) {
                    done = true;
                } else {
                    System.out.println("avg is " + getAverage(nums));
                }
            } catch(Exception e) {
                e.printStackTrace();
            }
        }
    }

    static int[] getInput() {
        Scanner in = new Scanner(System.in);
        System.out.print("enter length of array to average or 0 to exit: ");
        int length = in.nextInt();
        if(length == 0) {
            return null;

        } else {
            int[] nums = new int[length];
            for(int i = 0; i <= nums.length; i++) {
                System.out.print("enter number for index " + i + ": ");
                nums[i] = in.nextInt();
            }
            return nums;
        }
    }
}

... หรือไม่

java.lang.ArrayIndexOutOfBoundsException: 4
    ที่ Numbers.getSum (Numbers.java:8)
    ที่ Numbers.getAverage (Numbers.java:15)
    ที่ Numbers.roundAverage (Numbers.java:16)
    ที่ Numbers.beginLoop (Numbers.java:23)
    ที่ Numbers.main (Numbers.java:42)
java.lang.ArrayIndexOutOfBoundsException: 4
    ที่ Numbers.getSum (Numbers.java:8)
    ที่ Numbers.getAverage (Numbers.java:15)
    ที่ Numbers.roundAverage (Numbers.java:16)
    ที่ Numbers.beginLoop (Numbers.java:23)
    ที่ Numbers.main (Numbers.java:42)
java.lang.ArrayIndexOutOfBoundsException: 4
    ที่ Numbers.getSum (Numbers.java:8)
    ...

17
มันเยี่ยมมาก! ฉันจะไม่คิดอะไรอย่างนั้น
Jordon Biondo

2
ว๊าว!! สวยจัง ! ความคิดที่ดี;)
Pierre Arlaud

5
Genius! แม้ว่าผลลัพธ์จะค่อนข้างละเอียด แต่ฉันเดาว่าเกี่ยวข้องกับภาษาที่คุณเลือกที่นี่ ;)
Pieter Witvoet

3
เพียงเมื่อฉันคิดว่างูใหญ่ "lizt = หายไปพล็อต" คนหนึ่งไม่สามารถราด ...
เดฟ

3
@ justhalf ที่จริงแล้วมันทำให้ฉันสับสนนี่เป็นคำตอบที่ดีที่สุดในขณะนั้น มันไม่สนุกเลยที่จะชนะคำถามของฉัน
Radiodef

184

หลาม

#!/usr/bin/python
lizt = ["SPOI",
        "LERS: Lo",
        "st begins with ",
        "a plane crash on",
        "a desert island and end",
        "s with its viewers stuck in limbo forever."
        ]

while True:
    for item in lizt:
        print len(item)

แก้ไข:ตามคำแนะนำของ nneonneo ตอนนี้สคริปต์จะไม่มีตัวเลข


2
เรียบง่ายและยังดีมาก
Konrad Borowski

4
การลงคะแนนของฉันขึ้นอยู่กับคำตอบของคำถามนี้หรือไม่: การสะกดคำว่า "lizt" เป็นการอ้างอิง "Arzt" หรือไม่ แก้ไข: ฉันคือใครล้อเล่นมันจะได้รับคะแนนของฉัน แต่อย่างใด
พลูโต

6
ฉันจะเขียนwhile True:เพื่อให้คำตอบของคุณไม่มีตัวเลขเลย
nneonneo

2
while True:เป็นเรื่องธรรมดามากขึ้น
Martin Ueding

1
นั่นไม่ได้ทำลายกฎ "ไม่มีฐานทางเลือก" หรือไม่? โดยพื้นฐานแล้วมันเป็นเพียงตัวเลขฐาน 1 :-)
Daniel

77

Perl

ไม่มีสิ่งใดซ่อนอยู่ในซอร์สโค้ด Nope หากรหัสไม่ทำงานให้พิมพ์use re "eval";ก่อนหน้า (จำเป็นต้องใช้ใน Perl 5.18)

''=~('('.'?'.('{').(
'`'|'%').('['^'-').(
"\`"| '!').('`'|',')
.'"'. '\\' .'@'.('`'
|'.') .'=' .'('.('^'
^('`'       |"\*")).
','.("\:"& '=').','.
('^'^('`'| ('/'))).(
'^'^("\`"| '+')).','
.('^'^('`'|('/'))).(
'^'^('`'|'(')).','.(
'^'^('`'|',')).('^'^
("\`"|     '-')).','
.('^' ^('`' |'*')).(
'^'^( "\`"| (','))).
(')').     ';'.('['^
','). ('`'| ('(')).(
"\`"| ')'). ('`'|','
).('`'     |'%').'('
.'\\'.'$'.'|'."\=".(
'^'^('`'|'/'))."\)".
'\\'.'{'.'\\'."\$".(
"\["^ '/')       .((
'=')  ).+( '^'^('`'|
'.' ) ).(( (';'))).(
"\`"| '&').     ('`'
|'/') .('['^')') .((
'(')) .''. '\\'. '@'
.+(     '`'     |'.'
).')'.'\\'.'{'.('['^
'(').('`'|',').('`'|
'%').('`'|'%').('['^
'+'). '\\'.     '$'.
'_'.  '-'. '\\'. '$'
.+( ( '[') ^'/').';'
.'\\' .'$'      .''.
('['^ '/') .'='. (((
'\\') )).+ "\$". '_'
.((     ';'     )).+
'\\'.'$'.'_'.'='.'='
.('^'^('`'|'*')).'|'
.'|'.('['^'+').('['^
')'     ).(     '`'|
(( ')')) ) .('`' |((
'.'))).( '['^'/' ).+
(((     (((     '\\'
)) )))).'"'.('{' ^((
(( '[')))) ).''. (((
((       ((     '\\'
))))))).'"'.';'.('['
^'+').('['^')').('`'
|')').('`'|'.').('['
^+ '/').''.     '\\'
.+ '}'. +( "\["^ '+'
). ('[' ^"\)").( '`'
|+       ((     ')')
)).('`' |+ '.').('['
^'/').( (( '{'))^'['
).'\\'. ((       '"'
)).('!'^'+').('\\').
'"'.'\\'.'}'.(('!')^
'+').'"'.'}'.')');$:
='.'#madebyxfix#'.'=
^'~';$~='@'|"\(";#;#

คำอธิบายในสปอยเลอร์

นี่เป็นโปรแกรม Perl ง่าย ๆ ที่ใช้ประโยชน์จากการดำเนินงานหลายระดับบิตและประเมินการแสดงออกปกติโดยใช้= ~ผู้ประกอบการ regex เริ่มต้นด้วย(? {และจบลงด้วย}) ใน Perl โค้ดนี้รันในขณะที่ประเมินนิพจน์ทั่วไป - ซึ่งทำให้ฉันสามารถใช้eval ได้โดยไม่ต้องใช้มัน อย่างไรก็ตามปกติ"eval" อีกครั้งจำเป็นต้องมีเพื่อเหตุผลด้านความปลอดภัยเมื่อทำการประเมินนิพจน์ทั่วไปจากสตริง (บางโปรแกรมที่เก่ากว่านั้นใช้นิพจน์ปกติจากผู้ใช้) - แต่ปรากฎว่าก่อนหน้า Perl 5.18 มีข้อผิดพลาด ในการทำงานแม้ไม่มี pragma นี้ - หากคุณใช้ Perl 5.18 ให้พิมพ์ use re "eval";ก่อนรหัสเพื่อให้มันทำงาน นอกจากนั้นยังไม่มีอะไรอีกมากสำหรับรหัสนี้


9
ฉันเริ่มที่จะมีลักษณะเช่นนี้แต่ฉันยังไม่เห็นมัน ..
อังคารที่

69
@ xfix "นี่เป็นโปรแกรม Perl ง่าย ๆ " - หากเป็นกรณีนี้ฉันไม่อยากเห็นมันที่ซับซ้อน
MikeTheLiar

8
เฮ้ดูมันเป็นเรือใบ
roippi

5
@roippi ฮ่าฮ่าเจ้าโง่งี่เง่า มันไม่ใช่เรือใบ แต่เป็นเรือใบ!
MikeTheLiar

7
Protip: คัดลอก / วางเพื่อ Notepad ++ แล้วซูมจนสุด
MikeTheLiar

55

brainfuck

ฉันแย่มากที่งานศิลปะ ASCII!

++        ++++++++    +[>+>++    ++>++++
+<        <<-]>++>    >-           --<
<<        +[    >>    >.<.>++      ++.
<.        >-    --    ----.++      ++.
<.>---    -.+++++.         <.      >--
-/-./+    .<.>+.-/    -.++<<.      </]

ทดสอบที่นี่: http://ideone.com/kh3DYI


นี้เป็นทางออกที่ดีจริงๆ :)
gilbertohasnofb

47

Unix C.

มีสถานที่มากมายให้ค้นหาค่าคงที่ตัวเลข

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <errno.h>
#include <limits.h>
#include <signal.h>
#include <fcntl.h>
#include <pwd.h>
#include <netdb.h>

int main(void)
{
  int thenumbers[] = {
    S_IRGRP|S_IXGRP|S_IWOTH,
    ntohs(getservbyname("telnet", "tcp")->s_port),
    exp(M_E)-cos(M_PI),
    SIGTERM,
    CHAR_BIT,
    strlen(getpwuid(EXIT_SUCCESS)->pw_name)
  }, i=sizeof(thenumbers)/sizeof(*thenumbers);
  while(i--)
    printf("%d\n", thenumbers[i]);
  return main();
}

10
ความงงงวยที่นี่เป็นสิ่งที่ยอดเยี่ยมมากสำหรับการทดแทนอย่างง่าย
Radiodef

1
มันไม่ทำงานในกองมากเกินไปเนื่องจากการเรียกซ้ำ?
สกี

@Kirmantas ฉันคิดว่าคอมไพเลอร์ทั้งหมดจะใช้การเรียกซ้ำแบบหางสำหรับเรื่องนี้ (เช่นแทนที่การเรียกไปยังสายหลักด้วยการข้ามไปยังหน้าหลัก)
Tyilo

44

C #

สูตร "ขโมย" จากhttps://oeis.org/A130826 : a (n) เป็นจำนวนที่เล็กที่สุดซึ่งสองเท่าของจำนวนตัวหารของ (a (n) -n) / 3 ให้คำที่ n ในครั้งแรก ความแตกต่างของลำดับที่ผลิตโดยตะแกรง Flavius-Josephus

using System;
using System.Collections.Generic;
using System.Linq;

public static class LostNumberCalculator
{
    public static int GetNumber(int i)
    {
        int a = GetPairwiseDifferences(GetFlaviusJosephusSieveUpTo(100)).ElementAt(i);
        int b = FindSmallestNumberWithNDivisors(a / 2);
        return b * 3 + i + 1;
    }

    public static IEnumerable<int> GetFlaviusJosephusSieveUpTo(int max)
    {
        List<int> numbers = Enumerable.Range(1, max).ToList();

        for (int d = 2; d < max; d++)
        {
            List<int> newNumbers = new List<int>();
            for (int i = 0; i < numbers.Count; i++)
            {
                bool deleteNumber = (i + 1) % d == 0;
                if (!deleteNumber)
                {
                    newNumbers.Add(numbers[i]);
                }
            }
            numbers = newNumbers;
        }

        return numbers;
    }

    public static IEnumerable<int> GetPairwiseDifferences(IEnumerable<int> numbers)
    {
        var list = numbers.ToList();
        for (int i = 0; i < list.Count - 1; i++)
        {
            yield return list[i + 1] - list[i];
        }
    }

    public static int FindSmallestNumberWithNDivisors(int n)
    {
        for (int i = 1; i <= int.MaxValue; i++)
        {
            if (CountDivisors(i) == n)
            {
                return i;
            }
        }
        throw new ArgumentException("n is too large");
    }

    public static int CountDivisors(int number)
    {
        int divisors = 0;
        for (int i = 1; i <= number; i++)
        {
            if (number % i == 0)
            {
                divisors++;
            }
        }
        return divisors;
    }
}

class Program
{
    static void Main(string[] args)
    {
        while (true)
        {
            for (int i = 0; i < 6; i++)
            {
                int n = LostNumberCalculator.GetNumber(i);
                Console.WriteLine(n);
            }
        }
    }
}

10
+1 สำหรับคนที่จริงไป oeis.org ในการสั่งซื้อเพื่อการวิจัยสูตรที่เหมาะกับลำดับ :)
MrPaulch

a(i)=a(i-1)+a(i-3)+a(i-5)ดูเหมือนจะเป็นทางออกที่ง่ายขึ้นจริงๆ
Cruncher

1
@ Cruncher สูตรนั้นให้คุณกำหนดคำศัพท์ 5 คำแรก (รวมถึง 4, 8 และ 15) ซึ่งน่าเบื่อและขัดกับกฎ
เซบาสเตียน Negraszus

30

C #

การใช้ความจริงที่ว่าลำดับขององค์ประกอบ N สามารถสร้างได้โดยพหุนาม N-1 และป้อนตัวเลขที่เกี่ยวข้องกับการส่งเสียงบี๊ปและบูปมากมาย สำหรับการอ้างอิงพหุนามที่ฉันได้รับคือ

( -9(X^5) +125(X^4) -585(X^3) +1075(X^2) -446(X) +160 ) / 40

ฉันกำหนดปัจจัยให้กับตัวแปรที่มีชื่อสำหรับตัวเลขเพื่อความง่าย;)

รุ่นแรก:

int BEEP,
// Magic numbers, do not touch.
four = -9,
eight = 125,
fifteen = -117*5, 
sixteen = 1075,
twenty_three = (-1-1337) /3,
forty_two = 320/2;


for(BEEP=0;;BEEP=++BEEP%6)
{
    Console.WriteLine( 0.025* (
        four *BEEP*BEEP*BEEP*BEEP*BEEP+ 
        eight *BEEP*BEEP*BEEP*BEEP+ 
        fifteen *BEEP*BEEP*BEEP+
        sixteen *BEEP*BEEP+
        twenty_three *BEEP+ 
        forty_two ));
}

ฉันชอบความหมายของความตึงเครียดที่เพิ่มขึ้นเนื่องจากจำนวน BEEPs ลดลงหลังจากแต่ละตัวเลข

จากนั้นฉันก็พบว่าฉันสามารถคำนวณปัจจัยที่ใช้บี๊ปและบูปได้

int BEEEP=0, BEEP=++BEEEP ,BOOP=++BEEP,BLEEP=++BOOP+BEEP,

four = BOOP*-BOOP,
eight = BLEEP*BLEEP*BLEEP,
fifteen = BOOP*-(BOOP+(BEEP*BLEEP))*BLEEP*BOOP,
sixteen = BLEEP*BLEEP*(BOOP+(BLEEP*BEEP*BEEP*BEEP)),
twenty_three = BEEP*-((BLEEP*BOOP*BLEEP*BOOP)-BEEP),
forty_two = BEEP*BEEP*BEEP*BEEP*BEEP*BLEEP;

ลงน้ำเล็กน้อยหลังจากนั้น ...

int BEEEP=default(int), BEEP=++BEEEP ,BOOP=++BEEP,BLEEP=++BOOP+BEEP;

for(--BEEEP;;BEEEP=++BEEEP%(BEEP*BOOP))
{
    Console.WriteLine(

    BOOP*(                       (BOOP*-BOOP)*BEEEP    *BEEEP*BEEEP*BEEEP    *BEEEP+(BLEEP*BLEEP*
    BLEEP)                       *BEEEP*      BEEEP*    BEEEP*                     BEEEP+
    (BOOP*                       -(BOOP+      (BEEP*    BLEEP)                    )*BLEEP
    *BOOP)                       *BEEEP*      BEEEP*    BEEEP+(BLEEP*BLEEP        *(BOOP+
    (BLEEP*                       BEEP*        BEEP*                 BEEP)))       *BEEEP*
    BEEEP+                       (BEEP*-(     (BLEEP                 *BOOP*         BLEEP
    *BOOP)                       -BEEP))      *BEEEP+                (BEEP*         BEEP*
    BEEP*BEEP*BEEP*BLEEP))/     (BEEP*((BEEP*BEEP*BEEP  *BEEP*BEEP*BEEP)-(        BEEP+BEEP))));
}

การใช้ตัวดำเนินการเริ่มต้นใน C # สำหรับประเภทค่าอนุญาตให้เริ่มต้น BEEEP เป็นศูนย์ วิธีนี้จะไม่มีการใช้ตัวอักษรตัวเลขในรหัส อัลกอริทึมพื้นฐานเหมือนกัน แต่ปัจจัยจะถูกคำนวณแบบอินไลน์


@ kódfodrászขอบคุณสำหรับการแก้ไขที่แนะนำ!
Rik

6
ฉันเห็นเลข 8 ในนั้นคุณเป็นคนไม่ดีคุณ
Thebluefish

@ Thebluefish ฉันละอายใจ
Rik

25

D

ไม่อนุญาตให้ใช้หมายเลข 4, 8, 15, 16, 23 หรือ 42 ในรหัสของฉัน ไม่มีปัญหาแล้วฉันจะไม่ใช้ตัวเลขเลย!

import std.stdio;

void main()
{
    while( true )
    {
        ( ',' - '('  ).writeln;
        ( '/' - '\'' ).writeln;
        ( '/' - ' '  ).writeln;
        ( '_' - 'O'  ).writeln;
        ( '^' - 'G'  ).writeln;
        ( '~' - 'T'  ).writeln;
    }
}

6
เลขคณิต ASCII เป็นเลขคณิตที่ดีที่สุด
Pharap

2
ดังนั้นหลังจาก C ภาษาที่เรียกว่า D มา?
cegprakash

@cegprakash และก่อน C คือ B
SirPython

24

Javascript + HTML

ต่อต้านกอล์ฟ!

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<pre>
/*hereIsTheDataPart~                    Es="5030000307000022
E2000000100000010000                    E5370000507000022200
E0010100001110000005                    E0337001010000102220
E0100010010111005033                    E7001010000102220010
E1010010111~33079900                    E1000111102221000001
E1110111~03037910100                    E0111102220010100001
E0111".replace(/~/g,                    E5);Zfillfillfillfil
Eqw=21;fq=2;fz=fq*2;                    Efl=fz*2;fm=fl*2;fw=
Efm+2; M=Math;functi                    Eon r(n,i,z){return 
Efunction(){l=i||'';                    E;for(m=0;m!=n;m++)l
E+=String.fromCharCo                    Ede(97+M.floor(M.ran
Edom()*26));return l                    E+(z||'')}};kb=r(fm,
E'/*','*'+'/');kc=r(                    Efw,'//');kd=r(20);Z
Eke=r(fw,'/*');kf=r(                    E20);kg=r(fw,'','*'+
E'/');kh=kf;ki=new Z                    EArray(21).join(' ')
E;x=[];for(n=35*ix;n                    E!=s.length;++n){x.Z
Epush(parseInt(s[n])                    E)};oo=function(){oZ
E+=z==1?kb():z==9?kc                    E():z==3?(ee.shift()
E||kd()):z==5?(y==0?                    Eke():(ee.shift()||Z
Ekf())):z==7?(y==(yl                    E-1)?kg():(ee.shift(
E)||kh())):z==0?ki:Z                    Epl.shift();}Ze=mc^2
EZthis=does*nothing;                    EZnor*does+this-haha
EZawkw0rd+space+fi11                    EZrunn1ng/out+of=stf
EZfjsddfkuhkarekhkhk                    777777777777777777*/
0;ix=typeof ix=="number"?(ix+1)%6:1;s=text();ee=[];pl=[];//2
0;q=function(n,m){return s.substr(n,m)};evl="";xl=20;yl=12//
0;while(s.length){c=s[0];m=1;if(c=='\n'){s=q(1);continue;}//
0;if(c=='E'){ev=q(0,xl);i=ev.indexOf('Z');ee.push(ev);//sd//
0;evl+=i==-1?ev.substr(1):ev.substr(1, i-1);}if(c=='0'){//sd
0;pl.push(q(0,xl*3),'','');m=3};s=q(xl*m);}eval(evl);o="";//
0;for(r=0;r!=5;++r){for(y=0;y!=yl;++y){for(n=0;n!=7;++n){//s
0;z=x[n+r*7];oo()}o+="\n"}}setTimeout(function(){text(o);//z
0;(function(){var space=' ____ ',garbage='asfdasr#@%$sdfgk';
0;var filler=space+garbage+space+garbage+space+garbage;//s//
0;})("test",1199119919191,new Date(),"xyz",30/11/1)//asdfsaf
0;eval(text());},1000);//askfdjlkasjhr,kajberksbhfsdmhbkjygk
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
                                        /*1111111111111111*/
</pre>
<script>
window.onload = function () {
setTimeout(function() {
    text = function (txt) { 
        pre = document.getElementsByTagName('pre')[0];
        if(!txt) {
            return pre.innerText;
        }
        pre.innerText = txt;
    }
    eval(text());
}, 1000);
}
</script>
</body>
</html>

<pre>องค์ประกอบแสดงตัวเลขในลำดับ นอกจากนี้ยังมีรหัสทั้งหมดที่จำเป็นเพื่อไปยังหมายเลขถัดไปในลำดับ ดังนั้น<pre>eval'd ซึ่งส่งผลให้ข้อความของ<pre>การอัปเดตคล้ายกับหมายเลขถัดไปในลำดับ กระบวนการนี้ซ้ำไปเรื่อย ๆ

นี่มันทำงานอยู่!


2
บวกหนึ่งสำหรับความฉลาด ยินดีต้อนรับสู่ PPCG!
Jonathan Van Matre

22

C

รับแว่นตาตาของคุณใน :-)

main(         i){char*s     ="*)2;,5p   7ii*dpi*t1p+"
"={pi       7,i)?1!'p)(a! (ii(**+)(o(,( '(p-7rr)=pp="
"/(('       (^r9e   n%){1 !ii):   a;pin     7,p+"
"{*sp       ;'*p*   op=p) in,**             i+)s"
"pf/=       (t=2/   *,'i% f+)0f7i=*%a       (rpn"
"p(p;       )ri=}   niipp   +}(ipi%*ti(     !{pi"
"+)sa       tp;}*   s;}+%         *n;==     cw-}"
"9{ii       i*(ai   a5n(a +fs;i   *1'7",    *p=s-
1;while(p=('T'^i)?++p:s){ for(i=1;55!=*     p;p++
)i+=(' '!=*   p);printf     ("%d ",i/       2);}}

11
อย่างที่น่าจะเป็นได้ฉันนับสาม4และสอง8วินาทีในนั้น
Geobits

6
@Geits ฉันเห็นได้ชัดว่าต้องมีแว่นตาตาใหม่! แก้ไขแล้ว
ossifrage คลื่นไส้

20

Haskell, 1 LoC

import Data.Char; main = putStr $ unwords $ map (show . (+)(-ord 'D') . ord) $ cycle "HLST[n" 

ฉันตัดสินใจที่จะไปอ่านหนึ่งซับเพื่อแสดงว่า Haskell ยอดเยี่ยมแค่ไหน นอกจากนี้ฉันได้ตัดสินใจที่จะหลีกเลี่ยงตัวเลขทั้งหมดในกรณี

ต้องขอบคุณการประเมินที่ขี้เกียจภายในตัว Haskell สามารถจัดการ (แผนที่แยกเข้าร่วมกรอง ... ) แสดงรายการที่ยาวเหยียดได้ดี มันยังมีหลายบิวด์อินเพื่อสร้าง เนื่องจากสตริงเป็นเพียงรายการของอักขระสตริงที่ยาวไม่ จำกัด จึงไม่น่าแปลกใจสำหรับ Haskell


2
ฉันชอบวิธีที่ Haskell และผู้ชอบเขียนโปรแกรมใช้งานได้: D
Jwosty

2
fromEnumดูดีกว่าData.Char.ordและค่อนข้างสั้นกว่า
mniip

1
อืม ... ได้อย่างไร คุณช่วยอธิบายได้ไหม
Pureferret

1
ฉันเพิ่งสังเกตเห็นตัวละครที่ไร้เดียงสาในตอนท้าย ฉันคิดว่ามีบางอย่างเกี่ยวข้องกับมันหรือไม่?
Pureferret


20

มาติกา

เราสามารถตอบคำถามโดยมุ่งเน้นไปที่ตัวหารบางส่วนที่ทำซ้ำของเศษส่วนต่อเนื่องเป็นระยะดังแสดงด้านล่าง พวกเขาคือสิ่งที่เราต้องการ

ทำซ้ำ cf

ท้ายที่สุดพวกเขาประกอบด้วยลำดับไม่สิ้นสุดที่เราพยายามผลิต: 4, 8, 15, 16, 23, 42, 4, 8, 15, 16, 23, 42, ...


ในวิชาคณิตศาสตร์หนึ่งได้รับสมการกำลังสองที่สอดคล้องกับเศษส่วนต่อเนื่องเป็นระยะโดย

FromContinuedFraction[{0, {4, 8, 15, 16, 23, 42}}]

รูปสี่เหลี่ยม irr 1

โดยที่ 0 หมายถึงส่วนจำนวนเต็มโดยนัย

เราสามารถตรวจสอบโดยย้อนกลับการดำเนินการ:

ป้อนคำอธิบายรูปภาพที่นี่

{0, {4, 8, 15, 16, 23, 42}}


4 และ 8 ละเมิดกฎข้อหนึ่งของการท้าทาย สตริงย่อย15เป็นการละเมิดเพิ่มเติม เราสามารถจัดรูปแบบสมการกำลังสองที่ไม่มีเหตุผลเพื่อให้เป็นไปตามกฎ

ค

{0, {4, 8, 15, 16, 23, 42}}


ตอนนี้เราคว้าลำดับความสนใจ:

Last[c]

{4, 8, 15, 16, 23, 42}

และพิมพ์รายการตลอดไป ...

While[True, Print@Row[ContinuedFraction[(-3220235/5+Sqrt[(10611930613350/25)])/(61630/2)],"\t"]]

โต๊ะ


นั่นคือคำตอบทางคณิตศาสตร์ที่ดีอย่างหนึ่ง ฉันชอบอันนี้มาก
C5H8NNaO4

@ C5H8NNaO4 ขอบคุณผงชูรส มันสนุกที่จะคิดออก
DavidC

1
+1 คุณแก้ไขเพื่อกำจัด16เศษส่วนในขณะที่ฉันพิมพ์ความคิดเห็นเกี่ยวกับเรื่องนี้
Geobits

@Geobits ตลกเกี่ยวกับเรื่องนั้น ฉันคิดว่าฉันจะตรวจสอบว่าฉันทำตามกฎหรือไม่ มีการละเมิดหลายครั้งที่ฉันได้รับการแก้ไข
DavidC

19

C / C ++

โดยใช้เพียงตัวละครL, O, SและTซ้ำ ๆ ในลำดับที่:

int main(){for(;;)printf("%d %d %d %d %d %d\n",

    'L'-     'O'*'S'    &'T','L'  &'O'+'S'*
    'T',    'L'^  'O'  |'S'*        'T'&
    'L',    'O'*  'S'    &'T'/      'L'+
    'O',    'S'^  'T'      &'L',    'O'*
    'S'&'T'   +'L'+    'O'^'S'+     'T')   ;}

18

ชวา

ฉันไม่พบรูปแบบตามลำดับนั้น หากไม่มีรูปแบบที่เป็นที่รู้จักเราก็อาจรวมจำนวนเฉพาะช่วงเวลาเล็ก ๆ เข้าด้วยกันแล้วอัดเข้าไปใน RNG ในตัวของ Java และเรียกมันว่าวันละ ฉันไม่เห็นว่ามันจะผิดพลาดได้อย่างไร แต่แล้วฉันก็เป็นคนมองโลกในแง่ดี :)

import java.util.Random;
public class LostNumbers {
    public static void main(String[] args) {
        long nut=2*((2*5*7)+1)*((2*2*3*((2*2*2*2*11)+3))+5)*
                   ((3*5*((2*3*3)+1)*((2*2*2*2*2*3)+1))+2L);
        int burner=2*2*2*5;
        while(true){
            Random dice = new Random(nut);
            for(int i=0;i<6;i++)
                System.out.print((dice.nextInt(burner)+3) + " "); // cross your fingers!
            System.out.println();
        }
    }
}

1
ลบwhile(true): ideone.com/1xaPdO
ทิมเอส.

7
มีรูปแบบ แต่ไม่ใช่ ... ชัดเจนมาก: oeis.org/A130826 :)
Sebastian Negraszus

14

Bash หนึ่งซับ

yes `curl -s "https://oeis.org/search?q=id:A$((130726+100))&fmt=text" |
grep %S | cut -d " " -f 3 | cut -d "," -f 1-6`

เพิ่มตัวแบ่งบรรทัดเพื่อให้สามารถอ่านได้ มัน (AB) ใช้ความจริงที่ว่าเหล่านี้เป็นตัวเลขหกแรกของOEIS ลำดับ A130826


นอกจากนี้คุณยังสามารถท่อไปawk -F"[ ,]" '/%S/ {for (i=3;i<=9;i++) printf $i" "}' curl
fedorqui

1
คุณสามารถลบห่วงทั้งหมดด้วยyesและวางเปลี่ยนเส้นทางไปด้วย/dev/null curl -sบางสิ่งบางอย่างเช่นyes $(curl -s "https://oeis.org/search?q=id:A$((130726+100))&t=text" | awk -F"[ ,]" '/%S/ {for (i=3;i<9;i++) printf $i" "}')
Digital Trauma

@DigitalTrauma: ขอบคุณฉันไม่รู้เกี่ยวกับyesและcurl -s- ฉันเพิ่งลงคอเพิ่มคำตอบของฉัน :-)
Heinzi

13

C ไม่ใช้ตัวเลขเลยและไม่มีค่าอักขระ

s(int x) { return x+x; }
p(int x) { return printf("%d ",x); }
main()
{
    for(;;){
    int a = s(p(s((s==s)+(p==p))));
    int b = a+s(a+p(a+a));
    putchar(b-s(p(b*a-b-s(p(s(s(p(b-(s==s))+p(b)))-(p==p))))));
    }
}

12

ฉันชอบความคิดในการใช้ลำดับ

a[n+5] = a[n] + a[n+2] + a[n+4]

ในคำตอบนี้ พบว่ามันผ่านOEIS ค้นหาเป็นลำดับ A122115

หากเราทำตามลำดับย้อนกลับเราจะพบว่าการกำหนดค่าเริ่มต้นที่เหมาะสมซึ่งไม่มี 4, 8, 15, 16 หรือ 23

Python3:

l = [3053, 937, -1396, -1757, -73]
while l[-1] != 66:
    l.append(l[-5] + l[-3] + l[-1])
while True:
    print(l[-6:-1])

ฉลาดมาก! ดี
DavidC

11

JavaScript

ไม่มีตัวเลขเลยเป็นเรื่องที่ดี แต่แทนที่จะพิมพ์ลำดับหนึ่งครั้งต่อการผ่านลูปเพียงพิมพ์หนึ่งครั้งต่อหมายเลขผ่านหนึ่งครั้ง

t = "....A...B......CD......E..................FEDCBA";
b = k = --t.length;
do {
    console.log(p = t.indexOf(t[k]));
} while (k-=!!(p-k)||(k-b));

ส่วนล่างของรหัสสตริงตัวเลขที่จะพิมพ์และส่วนบนของรหัสสตริงอักขระถัดไปที่จะค้นหา โดยที่ทั้งสองส่วนเป็นไปตามรหัส (หนึ่งF) ตั้งค่ารอบ


11

หลาม

b=a=True;b<<=a;c=b<<a;d=c<<a;e=d<<a;f=e<<a
while a: print c,d,e-a,e,e+d-a,f+d+b

ตัวดำเนินการระดับบิตและคณิตศาสตร์ง่าย ๆ


10

ทับทิม

สร้างตัวเลขโดยการฝังลำดับลึกลับอย่างเท่าเทียมกัน 0, ∞, 9, 0, 36, 6, 6, 63 ;
ไม่มีสิ่งใดที่ดีมาจากสิ่งนี้

(0..1/0.0).each{|i|puts"kw9ygp0".to_i(36)>>i%6*6&63}

รหัสทับทิมทั้งหมดดูเหมือนว่ามันควรผิดพลาดและตาย มันทำให้ฉันช็อคจนถึงทุกวันนี้ว่ามันวิ่งไปไหนมาไหน!
alexandercannon

10

C ( 54 50 ตัวอักษร)

ฉันโพสต์คำตอบกอล์ฟเพราะการเล่นกอล์ฟอย่างน้อยก็ทำให้มันสนุก

main(a){while(printf("%d\n","gAELMT"[a++%6]-61));}

หากคุณกำลังเล่นกอล์ฟคุณสามารถ (เนื้อหา) a=0;ลดลง เอฟเฟกต์เพียงอย่างเดียวคือคุณอาจเริ่มต้นลำดับที่อื่นนอกเหนือจาก 4 (อาจเป็น 8) อย่างไรก็ตามสิ่งนี้จะทำให้ลําดับของลำดับเมื่อaโอเวอร์โฟลว์ มันเป็นพฤติกรรมที่ไม่ได้กำหนดทางเทคนิค แต่ผลลัพธ์ที่เป็นไปได้คือคุณจะพิมพ์ขยะครึ่งเวลา
jerry

หรือเพียงแค่วนรอบสตริงเป็น "gAELMT" :)
orion

แน่นอนยกเว้นว่ามีบางคนเรียกโปรแกรมของคุณด้วยข้อโต้แย้ง :) ยังคงพิมพ์ขยะครึ่งเวลา
jerry

3
หากคุณให้ข้อโต้แย้งกับโปรแกรมที่ไม่ต้องการคุณจะต้องจ่ายราคา :)
orion

1
forไม่ช่วยถ้าไม่มีการเริ่มต้น เป็นจำนวนเดียวกันของตัวละครfor(;;) while()ฉันตีความกฎเพื่อให้บรรทัดใหม่ต้องอยู่ที่นั่น แต่ฉันสามารถใช้การเรียกซ้ำแบบหางกับหลัก ...
orion

10

Haskell

main = mapM_ (print . round . go) [0..]
  where
    go n = 22 - 19.2*cos t + 6*cos (2*t) - 5.3*cos (3*t) + 0.5*cos (5*t)
      where t = fromInteger (n `mod` 6) / 6 * pi

http://ideone.com/erQfcd

แก้ไข: สิ่งที่ฉันใช้ในการสร้างค่าสัมประสิทธิ์: https://gist.github.com/ion1/9578025

แก้ไข: ฉันชอบโปรแกรมของ agrifและจบลงด้วยการเขียน Haskell ที่เทียบเท่าในขณะที่หามัน ฉันเลือกฐานที่แตกต่างกันสำหรับหมายเลขเวทย์มนตร์

import Data.Fixed
main = mapM_ print (go (369971733/5272566705 :: Rational))
  where go n = d : go m where (d,m) = divMod' (59*n) 1

http://ideone.com/kzL6AK

แก้ไข: ฉันยังชอบโปรแกรมที่สองของเขาและจบลงด้วยการเขียนการใช้งาน Haskell ของการใช้กำลังสอง ; การใช้ไลบรารี่และจำนวนเวทย์มนตร์ของ agrif โปรแกรมนี้จะพิมพ์ลำดับ

import qualified Data.Foldable as F
import Numeric.QuadraticIrrational

main = F.mapM_ print xs
  where (_, xs) = qiToContinuedFraction n
        n = qi (-16101175) 1 265298265333750 770375

นี่คือวิธีที่หนึ่งสามารถค้นหาหมายเลขมายากลด้วยความช่วยเหลือของห้องสมุด:

> continuedFractionToQI (0, Cyc [] 4 [8,15,16,23,42])
qi (-644047) 1 424477224534 30815

(−644047 + 1 √424477224534)/30815ค่าพิมพ์ยืนสำหรับจำนวน สิ่งที่คุณต้องทำคือการค้นหาปัจจัยที่กำจัดลำดับตัวเลขที่ไม่ได้รับอนุญาตในขณะที่ไม่เปลี่ยนค่าของนิพจน์


ยินดีต้อนรับสู่เว็บไซต์ =)
Riot

8

C #

var magicSeed = -1803706451;
var lottery = new Random(magicSeed);
var hurleysNumbers = new List<int>();
for (int i = 0; i < 6; i++) hurleysNumbers.Add(lottery.Next(43));
while (true) Console.WriteLine(String.Join(",", hurleysNumbers));

ฉันพบเมล็ดหลังจากฟังสถานีวิทยุบางแห่งในเที่ยวบินเหนือมหาสมุทรแปซิฟิก


6
มี 4s และ 8s ภายใน
zakk

7

หลาม

import math

def periodic(x):
    three_cycle = abs(math.sin(math.pi * \
        (x/float(3) + (math.cos(float(2)/float(3)*x*math.pi)-1)/9)))
    two_cycle = abs(math.sin(math.pi * x / float(2)))
    six_cycle = three_cycle + 2*two_cycle
    return round(six_cycle, 2) # Correct for tiny floating point errors

def polynomial(x):
    numerator = (312+100)*(x**5) - 3000*x*(x**3) + (7775+100)*(x**3) - \
        (7955+1000)*(x**2) + (3997+1)*x + 120
    denominator = float(30)
    return float(numerator)/denominator

def print_lost_number(x):
    lost_number = polynomial(periodic(float(x)))
    print(int(lost_number)) # Get rid of ugly .0's at the end

i=0
while (1):
    print_lost_number(i)
    i += 1

ในขณะที่ผู้คนจำนวนมากใช้รูปแบบที่นำมาจาก OEIS ฉันตัดสินใจที่จะสร้างชุดฟังก์ชั่นของตัวเองเพื่อแสดงตัวเลข

ฟังก์ชั่นแรกที่ฉันสร้างขึ้นเป็นคาบ () มันเป็นฟังก์ชั่นที่ทำซ้ำทุก ๆ หกหมายเลขอินพุตโดยใช้คุณสมบัติวงจรของฟังก์ชันตรีโกณฯ มันจะเป็นเช่นนี้:

periodic(0) = 0
periodic(1) = 5/2
periodic(2) = 1
periodic(3) = 2
periodic(4) = 1/2
periodic(5) = 3
periodic(6) = 0
...

จากนั้นฉันสร้างพหุนาม () นั่นใช้พหุนามต่อไปนี้:

412x^5-3000x^4+7875x^3-8955x^2+3998x+120
----------------------------------------
                  30

(ในรหัสของฉันสัมประสิทธิ์บางอย่างแทนด้วยผลรวมเนื่องจากมีตัวเลขที่หายไปเป็นหนึ่งในหลัก)

พหุนามนี้แปลงเอาท์พุทของคาบ () เป็นจำนวนที่หายไปอย่างเหมาะสมดังนี้:

polynomial(0)   = 4
polynomial(5/2) = 8
polynomial(1)   = 15
polynomial(2)   = 16
polynomial(1/2) = 23
polynomial(3)   = 42

ด้วยการเพิ่มฉันอย่างต่อเนื่องและผ่านทั้งสองฟังก์ชั่นฉันได้ตัวเลขที่หายไปซ้ำไปเรื่อย ๆ

(หมายเหตุ: ฉันใช้ float () จำนวนมากในรหัสนี่คือสิ่งที่ Python ทำส่วนทศนิยมแทนการพูด 2/3 = 0)


1
ง่ายต่อการแก้ไข แต่คุณยังคงมีอยู่ใน4 polynomial
Geobits

@Geobits อ้าวไม่ได้สังเกตว่า ขอบคุณ
Andrew Soutar

6

Emacs Lisp 73 ตัวอักษร

วิธีที่ดีที่สุดในการวนซ้ำตลอดไป? รายการวงจร!

(let((a'(?\^D?\^H?\^O?\^P?\^W?*)))(setcdr(last a)a)(while(print(pop a))))

แต่เดี๋ยวก่อนมีอีกมาก!

? \ ^ D เป็นวิธีที่ดีในการใส่ถ่านสำหรับ EOT อย่างไรก็ตามถ้าฉันเพิ่งส่งไฟล์ฉันไม่ต้องการตัวอักษร "\ ^ D" ฉันสามารถแทรก '?' ตามด้วยตัวละคร EOT ที่แท้จริงดังนั้นจึงนำตัวอักษรที่ต้องการจำนวนจริงลงไปที่: 63

แก้ไข

ฉันได้ทำงานกับ "เจล" ซึ่งยังไม่ได้ใช้ภาษาจริง แต่เป็นชุดของมาโคร lisp macros สำหรับโค้ดกอล์ฟ ใน "เจล" นี่จะเป็นทางออก:

(m a(~o ?\^D?\^H?\^O?\^P?\^W?*)(@(<^(^ a))(...)))

และไม่ต้องรอ:

(m a(~o ?\^D?\^H?\^O?\^P?\^W?*)(@(<^(^ a))))

44 ตัวอักษรที่มีการป้อนอักขระที่ดี จะเป็น 34 หากไม่ใช่เพราะเป็นการส่งทางเว็บ


6

จูเลีย

โดยการวิจัยในขณะที่ฉันพบวิธีการทางคณิตศาสตร์ในการแสดงลำดับโดยลำดับอื่น ๆ โดยไม่ต้องใช้ตัวเลขใด ๆ (หรือวิธีที่ยุ่งยากในการใช้พวกเขา):

L(n)=n==0?2:n==1?1:L(n-1)+L(n-2) #Lucas numbers.
O(n)=int(n*(n+1)*(n+2)/6)
S(n)=n in [O(i) for i=1:50]?0:1 #A014306
T(n)=begin k=ifloor(n/2);sum([L(i)*S(n+1-i) for i=1:k]) end #A025097

lost(n)=n>5?lost(n-1)+lost(n-3)+lost(n-5):(n+3)>5?T(n+3):-T(n+3) #A122115

[lost(i-2) for i=5:10]

เอาท์พุท:

6-element Array{Int64,1}:
  4
  8
 15
 16
 23
 42

6

C ++

ภาษาสะอาดดีเช่น C ++ สามารถอนุญาตให้คุณจัดวางแหล่งข้อมูลของคุณในลักษณะที่เป็นระเบียบและสามารถอ่านได้สูงและมีข้อได้เปรียบในการคัดลอกด้วยมืออย่างง่ายดายด้วยความกำกวมขั้นต่ำ

นี่คือวิธีการแก้ปัญหาโดยใช้เพียงหมายเลข 1

#include <iostream>

typedef long int lI;
auto &VV = std::cout;
std::string vv = " ";

int main() {
  for(lI UU; UU --> UU;) {
    lI l1=1l+1l;lI 
    ll=1l << l1;VV 
    << ll << vv;lI 
    Il=ll*l1;VV << 
    Il << vv;VV <<
    ll*ll-1l << vv;
    lI II=ll*ll;VV 
    << II << vv;VV 
    <<(II += Il-1l)
    << vv;VV << l1
    * (II-l1)<< vv;
  }
}

ทดสอบ: http://ideone.com/fuOdem


6

แบบแผน (Guile)

(let l ((x 179531901/2199535975))
  (let* ((b (* x 51)) (f (floor b)))
    (format #t "~a " f)
    (l (- b f))))

http://ideone.com/QBzuBC

เนื้อหานี้แบ่งกฎ "อย่าเข้ารหัสตัวเลขในฐานอื่น ๆ " แต่ฉันคิดว่ามันไม่ชัดเจนพอที่จะไม่นับ เพื่อเป็นหลักฐานของความสับสนนี้ตัวเลขเวทย์มนตร์ทั้งสองในฐาน 51 คือ:

26:27:21:9:18 / 6:19:6:19:6:19

แก้ไข : เคล็ดลับเหมือนกันการเป็นตัวแทนที่แตกต่างกัน ฉันชอบอันนี้มากกว่านี้เพราะมันไม่ได้ขึ้นอยู่กับฐานที่เลือกโดยพลการ อย่างไรก็ตามต้องมีการดำเนินการตามแผนด้วยการสนับสนุนความแม่นยำที่ไม่มีที่สิ้นสุดสำหรับการหาค่ากำลังสองแบบสี่เหลี่ยมจัตุรัสซึ่งไม่มี (AFAIK) คุณสามารถใช้มันในบางสิ่งบางอย่างเช่น Mathematica ได้

(let l ((x (/ (+ -16101175 (sqrt 265298265333750)) 770375)))
  (let* ((b (/ 1 x)) (f (floor b)))
    (format #t "~a " f)
    (l (- b f))))

ยินดีต้อนรับสู่เว็บไซต์ =)
Riot

+1 สำหรับ "ต้องการการใช้งานแบบแผนพร้อมการสนับสนุนความแม่นยำแบบไม่สิ้นสุดสำหรับการตรวจวัดกำลังสองแบบสี่เหลี่ยมจัตุรัสซึ่ง (AFAIK) ไม่มีอยู่"
Lyndon White

6

PHP

ฉันคิดว่ามันเป็นเวลาที่มีคนส่งคำตอบ php ไม่ใช่คำที่ดีที่สุด แต่เป็นคำตอบที่สนุก

while(true)
{
    $lost = array(
    "Aaah",
    "Aaaaaaah",
    "Aaaaaaaaaaaaaah",
    "Aaaaaaaaaaaaaaah",
    "Aaaaaaaaaaaaaaaaaaaaaah",
    "Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah");
    foreach ($lost as $a)
    {
        echo strlen($a).'
        ';
    }
}

Ahs เป็นเสียงกรีดร้องของผู้โดยสารเมื่อเครื่องบินตก


5

Perl

#!/usr/bin/perl
use Math::Trig;

$alt = 2600;
$m   = 10 x 2;
$ip  = 1 - pi/100;
@candidates = (
    "Locke",
    "Hugo",
    "Sawyer",
    "Sayid Jarrah",
    "Jack Sh.",
    "Jin-Soo Kwon"
);

@lost = map {map{ $a+=ord; $a-=($a>$alt)?($r=$m,$m=-$ip*$m,$r):$z; }/./g; $a/100 }@candidates;
for(;;) {
    printf "%d\n",$_ for @lost;
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.