พิสัย, ย้อนกลับ, รวม!


21

รับจำนวนเต็มบวก n เป็นอินพุทเอาท์พุทผลรวมของช่วงที่กลับด้านของ n

ผลรวมของช่วงที่ย้อนกลับถูกสร้างขึ้นโดยการทำให้ช่วงครอบคลุมถึง n เริ่มต้นด้วย 1 และรวมถึง n ย้อนกลับแต่ละตัวเลขภายในและรวมมัน

ตัวอย่าง:

นี่คือสิ่งที่จะเกิดขึ้นสำหรับอินพุต 10:

พิสัย: [1,2,3,4,5,6,7,8,9,10]

ย้อนกลับ: [1,2,3,4,5,6,7,8,9,01](หมายเลข 1- อักขระที่ตรงกันข้ามคือตัวเอง 10 รายการกลับเป็น 01 หรือ 1)

ผลรวม: 46

ตัวเลขที่มีตัวเลข 3+ จะกลับด้านเช่นเดียวกับตัวเลขที่มี 2 หลัก ตัวอย่างเช่น 1234 จะกลายเป็น 4321

กรณีทดสอบ:

Input -> Output

10 -> 46
5 -> 15
21 -> 519
58 -> 2350
75 -> 3147
999 -> 454545

กรณีข้อความที่สมบูรณ์เพื่อการป้อนข้อมูลของ 999 สามารถพบได้ที่นี่ขอบคุณมากที่ @ fireflame241


เพิ่มเติมกรณีทดสอบผล (ไม่นับขอโทษ แต่คุณสามารถแยกผ่านและได้รับหมายเลขโทรศัพท์ของพวกเขาถ้าคุณต้องการ): ลองออนไลน์!
Stephen




4
-1 เพราะสิ่งนี้ไม่น่าสนใจ ดูเหมือนว่าส่วนใหญ่ถ้าไม่ใช่ทั้งหมดของการส่งกำลังใช้วิธีการเดียวกัน ความท้าทายนี้ดูเหมือนจะเป็นปัญหามากมายที่ได้รับการถามไปแล้วเพียงแค่เสียบเข้าด้วยกันโดยไม่มีทางลัดที่ชัดเจน
แยกผลไม้

คำตอบ:


16

05AB1E , 3 ไบต์

รหัส

LíO

ใช้การเข้ารหัส05AB1E ลองออนไลน์!

คำอธิบาย

L       # Range
 í      # Reverse
  O     # Sum

20
dat
description

@ETHproductions Reverseก็ควรจะเป็นReverse eachจริง ...
Erik the Outgolfer

@EriktheOutgolfer มันไม่ได้เป็น vectorized เหรอ?
ASCII เท่านั้น

@ ASCII เพียง 05AB1E vectorization นั้นลึกจริง ๆ 1 ระดับไม่ใช่∞ เพียงแค่ "ย้อนกลับ" คือRในขณะที่í"กลับกัน"
Erik the Outgolfer


8

JavaScript (ES6), 42 ไบต์

f=n=>n&&+[...n+""].reverse().join``+f(n-1)

โซลูชันทวีคูณที่ฉันชื่นชอบซ้ำแล้วซ้ำอีกน่าเสียดายที่ 3 ไบต์:

f=n=>n&&+(g=x=>x?x%10+g(x/10|0):"")(n)+f(n-1)

8

Perl 6 , 20 ไบต์

{(1..$_)».flip.sum}

ทดสอบมัน

ขยาย:

{
   ( 1 .. $_ )\  # Range
   ».flip        # flip each value in the Range (possibly in parallel)
   .sum          # sum up the list
}

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

@QPaysTaxes No. การ».flipเรียกใช้.flipเมธอดสำหรับแต่ละค่าใน Range วิธีที่สั้นที่สุดถัดไปในการทำเช่นนี้คือ.map(*.flip)มากกว่า 5 ไบต์
แบรดกิลเบิร์ต b2gills

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

@QPaysTaxes ฉันไม่แน่ใจว่าฉันรู้ว่าสิ่งที่คุณหมายถึง».flipคือการเรียกวิธีการไฮเปอร์ ในขณะที่ฉันสามารถแยก»และ.flipโดยใช้ unspace \ เหมือนที่ฉันเคยทำมาก่อน ที่จะทำให้ยากต่อการเข้าใจเนื่องจากจะดูเหมือนจุดสิ้นสุดของqqww/ /โครงสร้าง ( « a b "c d" »)
แบรดกิลเบิร์ต b2gills

7

เรติน่า , 41 36 35 ไบต์

.+
$*
1
1$`¶
1+
$.&
%O^$`.

.+
$*
1

ลองออนไลน์! ลิงค์มีกรณีทดสอบ แก้ไข: บันทึก 5 ไบต์ด้วย @FryAmTheEggman บันทึก 1 ไบต์ด้วย @ PunPun1000 คำอธิบาย:

.+
$*

แปลงเป็นเอก

1
1$`¶

สร้างช่วงจากไป1n

1+
$.&

แปลงกลับเป็นทศนิยม

%O^$`.

ย้อนกลับแต่ละหมายเลข

.+
$*

แปลงกลับเป็น unary

1

ผลรวมและแปลงกลับเป็นทศนิยม


@FryAmTheEggman Bah ฉันลืมเรื่องนั้นไปเรื่อย ๆ
Neil

คุณไม่จำเป็นต้องใช้ในการ.+¶ แข่งขันจะจับคู่ข้ามบรรทัด
PunPun1000

@ PunPun1000 ฉันไม่ต้องการมันก่อนการแก้ไขของ FryAmTheEggman!
Neil

ฉันสังเกตว่าO^$s`.การย้อนกลับสตริงทั้งหมดยังใช้งานได้
Neil





5

Python 2 , 38 ไบต์

ไม่สามารถคำนวณคำที่สูงกว่าขีด จำกัด การเรียกซ้ำได้:

f=lambda x:x and int(`x`[::-1])+f(x-1)

ลองออนไลน์!


คุณสามารถใช้import sysและsys.setrecursionlimit()หากคุณต้องการจัดการกับตัวเลขที่มีขนาดใหญ่กว่าในส่วนหัว tio
Mr. Xcoder


5

Röda , 56 41 36 ไบต์

บันทึก 15 ไบต์ด้วย @fergusq

{seq 1,_|parseInteger`$_`[::-1]|sum}

ลองออนไลน์!

นี่คือฟังก์ชั่นที่ไม่ระบุชื่อที่ใช้จำนวนเต็มจากอินพุตสตรีมและส่งออกจำนวนเต็มไปยังเอาต์พุตสตรีม

คำอธิบาย

{seq 1,_|parseInteger`$_`[::-1]|sum} Anonymous function
 seq 1,_                             Create a sequence 1 2 3 .. input and push each value to the stream
        |                            For each value in the stream:
                     `$_`             Cast it into a string
                         [::-1]       And reverse it
         parseInteger                 And parse the resulting string as an integer, while pushing the value to the stream
                               |sum  Sum all the values in the stream

คุณสามารถบันทึกจำนวนมากไบต์โดยใช้[::-1]แทนการย้อนกลับ ` $_` จะสั้นกว่า_..""และวงเล็บหลังจากการแยกวิเคราะห์ไม่จำเป็นต้องใช้
fergusq

@fergusq ขอบคุณสำหรับเคล็ดลับ, Rödaของฉันได้ไปนิดสนิม :)
Kritixi Lithos

4

C # (.NET Core) , 103 97 ไบต์

using System.Linq;r=>new int[r+1].Select((_,n)=>int.Parse(string.Concat((n+"").Reverse()))).Sum()

ลองออนไลน์!

ลิงก์ TIO จะแสดงผลลัพธ์ทั้งหมดตั้งแต่ 1 ถึง 999 ดังนั้นอย่าลังเลที่จะตรวจสอบงานของฉัน

ฉันคาดว่าสิ่งนี้จะสั้นกว่านี้เล็กน้อย แต่กลับกลายเป็นReverse()คืนค่าIEnumerable<char>แทนที่จะเป็นสตริงอื่นดังนั้นฉันจึงต้องเพิ่มส่วนพิเศษบางอย่างเพื่อเปลี่ยนกลับเป็นสตริงดังนั้นฉันจึงสามารถแยกมันเป็น int ได้ อาจจะมีวิธีที่สั้นกว่าที่จะไปจากIEnumerable<char>ไปเป็น int อย่างถูกต้อง

ของโน้ตเล็กน้อยนี้ยังใช้ฟังก์ชั่นRange() Reverse()และSum()ทั้งหมดในการสั่งซื้อ

-6 ไบต์ขอบคุณ TheLethalCoder


คุณไม่จำเป็นต้องใช้เครื่องหมายทวิภาคกึ่งท้าย ฉันคิดว่าการใช้new int[r]และ.Select((_,n)=>...)จะช่วยให้คุณประหยัดไบต์
TheLethalCoder

@TheLethalCoder ใช้new int[r+1]เพื่อให้ได้ผลลัพธ์ที่ถูกต้องตั้งแต่ดัชนีเริ่มต้นที่ 0 แต่ก็ยังบันทึกไม่กี่ไบต์ Range()แม้ว่าRIP
Kamil Drakari

4

ทับทิม, 56, 52, 41, 39 ไบต์

->n{(1..n).sum{|i|i.to_s.reverse.to_i}}

Ruby, 34 ไบต์ (หาก lambda param เป็นสตริง)

->n{(1..n).sum{|i|i.reverse.to_i}}

ขอบคุณ @Unihedron สำหรับวิธีแก้ปัญหาที่สอง


1
->n{ทำงานได้เช่นกัน
หมึกมูลค่า

1
ฉันได้สร้างโปรแกรมที่สั้นกว่าในเครื่องมือเดียวกัน (Ruby) ที่แตกต่างกันพอ (มันเกี่ยวข้องกับอินพุตและเอาต์พุต) เพื่อการส่งของคุณเองคุณสามารถค้นหาได้ที่นี่: codegolf.stackexchange.com/a/150636/21830
Unihedron

@ Unihedron ฮ่าฮ่าฉันไม่รู้ว่า Ruby เป็นคนบ้าจริง ๆ ที่อนุญาตให้ใช้ช่วงของสตริง ขอบคุณ
akostadinov

ใช่ทับทิมยังมีคุณสมบัติที่ดี?a..?zและ?a1..?h8(แม้ว่าคุณควรระมัดระวังในรูปแบบที่ 2: D)
Unihedron

ช่วงจะต้องมีการใช้ 1 (สำหรับค่าเริ่มต้น) succและ 2 (หากค่าเริ่มต้นหรือค่าที่ไม่ได้ใช้succ) เป็นตัวเลขดังนั้นint..stringจะได้รับการปฏิเสธว่าเป็น "ค่าไม่ถูกต้องสำหรับช่วง" อินเวอร์สนั้นเป็นจริง (แต่ก็ไม่มีช่วง downto) หรือ(?1..n)สามารถใช้แทนได้
Unihedron


3

ถ่าน , 14 13 ไบต์

-1 ไบต์ขอบคุณCarlos Alejo

I∕…·⁰N«⁺ιI⮌Iκ

ลองออนไลน์! ลิงก์คือเวอร์ชัน verbose

คำอธิบาย

I                  Cast
  ∕     «           Reduce
   …·⁰N            Inclusive range from 0 to input as number
         ⁺          Plus
          ι         i
           I⮌Iκ   Cast(Reverse(Cast(k)))

»คุณสามารถบันทึกไบต์โดยวางสุดท้าย โดยวิธีการที่Reduceผู้ประกอบการอยู่ในวิกิถ่าน?
ชาร์ลี

ไม่มีที่ไหนเลยมันเป็นโอเวอร์โหลดของส่วนที่หนึ่ง: | ฉันสามารถให้สิทธิ์การเข้าถึงแก่คุณหากคุณต้องการ (ขออภัยฉันขี้เกียจเกินไปที่จะทำเอง)
ASCII- เท่านั้น

ใช่ฉันยังลืมว่าทำไมการออกจากวงเล็บปีกกาสิ้นสุดการทำงานฮ่า ๆ ๆ
ASCII- เท่านั้น

ฉันอยากให้ Charcoal wiki เป็นเอกสารอีกเล็กน้อยเนื่องจากยังมีคุณสมบัติบางอย่างที่ยังใช้งานได้อยู่ แต่ซ่อนอยู่ หากคุณอนุญาตให้ฉันแก้ไขการเข้าถึงฉันจะพยายามอย่างดีที่สุดเพื่อจัดทำเอกสาร ตัวอย่าง: Moduloผู้ปฏิบัติการสามารถใช้รูปแบบสตริงใน Charcoal ได้อย่างไร
ชาร์ลี

1
@CarlosAlejo ฉันมีเวลาว่างดังนั้นฉันจึงเริ่มบันทึกสิ่งต่าง ๆ หวังว่าคุณจะชอบมัน!
Neil

3

Magneson , 102 ไบต์

แหล่ง

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

แสดงจุดประสงค์เท่านั้น

Magneson ดำเนินการโดยแยกวิเคราะห์รูปภาพและประเมินคำสั่งจากสีของพิกเซลที่อ่าน ดังนั้นเมื่อก้าวผ่านภาพสำหรับความท้าทายนี้เรามี:

  • R: 0, G: 1, B: 1เป็นคำสั่งกำหนดจำนวนเต็มซึ่งใช้สตริงสำหรับชื่อตัวแปรและค่าที่จะกำหนด เราจะใช้สิ่งนี้เพื่อเก็บผลรวมทั้งหมด
  • R: 0, G: 1, B: 0เป็นสตริงที่สร้างไว้ล่วงหน้าพร้อมค่าVAR_1(หมายเหตุ: นี่คือเมื่อเราขอสตริงเท่านั้นโค้ดสีมีฟังก์ชันแยกต่างหากเมื่อใช้ที่อื่น)
  • R: 3, G: 0, B: 0เป็นจำนวนดิบ Magneson จัดการกับหมายเลขมาตรฐานโดยกำหนดให้องค์ประกอบสีแดงเป็น 3 อย่างแน่นอนจากนั้นจัดรูปแบบตัวเลขโดยใช้ค่าสีน้ำเงินโดยตรงบวกกับค่าสีเขียวคูณด้วย 256 ในกรณีนี้เราเพิ่งได้ตัวเลข 0
  • R: 0, G: 1, B: 1เป็นอีกคำสั่งกำหนดจำนวนเต็ม เวลานี้เรากำลังจัดเก็บตัวแปรการวนซ้ำเพื่อติดตามหมายเลขที่เรากำลังอยู่
  • R: 0, G: 1, B: 1เป็นสตริงที่สร้างไว้ล่วงหน้าพร้อมค่าVAR_2(อีกครั้งเมื่อเราต้องการสตริงเท่านั้น)
  • R: 3, G: 0, B: 0คือหมายเลข 0 อีกครั้ง บนบิตที่น่าสนใจตอนนี้
  • R: 1, G: 0, B: 0ระบุการเริ่มต้นของลูป การทำเช่นนี้จะใช้ตัวเลขและวนซ้ำของโค้ดต่อไปนี้หลายครั้ง
  • R: 2, G: 0, B: 0เป็นฟังก์ชั่น STDIN หรืออย่างน้อยก็เมื่อเราต้องการตัวเลข สิ่งนี้จะอ่านบรรทัดอินพุตจากคอนโซลและเปลี่ยนเป็นตัวเลขเนื่องจากเราขอตัวเลข
  • R: 0, G: 8, B: 0เริ่มต้นโค้ดการวนลูปของเราและเป็นคำสั่งเพิ่มเติม สิ่งนี้จะเพิ่มตัวเลขให้กับตัวแปรจำนวนเต็มและใช้สตริงสำหรับชื่อตัวแปรและจำนวนที่จะเพิ่ม
  • R: 0, G: 1, B: 1เป็นสตริงที่สร้างไว้ล่วงหน้าVAR_2ซึ่งเป็นตัวแปรการทำซ้ำของเรา
  • R: 3, G: 0, B: 1 เป็นตัวเลขดิบ แต่ครั้งนี้เป็นหมายเลข 1
  • R: 0, G: 8, B: 0 เป็นอีกคำสั่งนอกจากนี้
  • R: 0, G: 1, B: 0เป็นสตริงสำหรับVAR_1ซึ่งเป็นผลรวมของเรา
  • R: 0, G: 3, B: 0เป็นฟังก์ชั่นที่ฝืนสตริง ในบริบทของการขอตัวเลขมันจะแปลงสตริงที่กลับด้านเป็นตัวเลข
  • R: 0, G: 2, B: 1เป็นคำสั่งการดึงข้อมูลจำนวนเต็มและจะดึงหมายเลขที่เก็บไว้ในตัวแปรที่ให้ไว้ ในบริบทของการขอสตริง (เช่นจากคำสั่ง reverse) มันจะแปลงตัวเลขเป็นสตริง
  • R: 0, G: 1, B: 1เป็นชื่อVAR_2; ตัวแปรการวนซ้ำของเรา
  • R: 1, G: 0, B: 1เป็นเครื่องหมายเพื่อสิ้นสุดการวนซ้ำและย้อนกลับไปที่จุดเริ่มต้นของการวนรอบหากไม่ตรงตามเกณฑ์ (ดังนั้นหากเราจำเป็นต้องวนซ้ำไปเรื่อย ๆ ) มิฉะนั้นให้ดำเนินการต่อไป
  • R: 0, G: 0, B: 1 เป็นคำสั่ง println ที่ง่ายมากและรับค่าสตริง
  • R: 0, G: 2, B: 1 ดึงจำนวนเต็มจากตัวแปร
  • R: 0, G: 1, B: 0 เป็นชื่อของผลรวมทั้งหมดของเรา VAR_1

    ทั้งหมดในทุกโปรแกรม:

  • กำหนดค่า 0 ถึงVAR_1และVAR_2
  • วนจาก 0 เป็นหมายเลขที่ระบุใน STDIN
    • เพิ่มหนึ่งถึง VAR_2
    • เพิ่มค่าจำนวนเต็มของการย้อนกลับVAR_2ไปVAR_1
  • พิมพ์เนื้อหาของ VAR_1


3

CJam , 12 ไบต์

ri){sW%i}%:+

ลองออนไลน์!

-1 ขอบคุณที่ธุรกิจแมว

คำอธิบาย:

ri){sW%i}%:+
r            Get token
 i           To integer
  )          Increment
   {sW%i}    Push {sW%i}
    s         To string
     W        Push -1
      %       Step
       i      To integer
         %   Map
          :+ Map/reduce by Add

คุณสามารถเพิ่มคำอธิบายได้ไหม? ฉันไม่เข้าใจ CJam (หรือ GolfScript) แต่ฉันชนะสอง (แม้ว่าโบราณในแง่ของภาษากอล์ฟ) ภาษากอล์ฟ!
Zacharý

@ Zacharýเสร็จแล้ว ...
Erik the Outgolfer

คุณไม่จำเป็นต้องใช้,
Business Cat

@BusinessCat Ohhh ใช้ GolfScript มากเกินไป ...
Erik the Outgolfer

3

APL (Dyalog) , 10 7 ไบต์

3 ไบต์ที่เล่นกอล์ฟด้วย @ Adámโดยแปลงเป็น tradfn จากรถไฟ

+/⍎⌽⍕⍳⎕

ลองออนไลน์!

          Input (example input: 10)
          Range; 1 2 3 4 5 6 7 8 9 10
          Stringify; '1 2 3 4 5 6 7 8 9 10'
          Reverse; '01 9 8 7 6 5 4 3 2 1'
          Evaluate; 1 9 8 7 6 5 4 3 2 1
+/         Sum; 46

หากต้องการ @Uriel & Cows ต้มตุ๋นเกี่ยวกับคำถามการแชท: ดีฉันทำส่วนคณิตศาสตร์นอกจากนั้นฉันถูกระงับจากการแชทดังนั้นฉันไม่ตอบสนองในที่นั่น
Zacharý

7 ไบต์:+/⍎⌽⍕⍳⎕
อดัม

@ Adámขอบคุณสำหรับเคล็ดลับ การถอด¨ฉลาด :)
Kritixi Lithos

3

Java 8, 97 ไบต์

IntStream.range(1,n+1).map(i->Integer.valueOf(new StringBuffer(""+i).reverse().toString())).sum()

แก้ไข

ตามความคิดเห็นของ Kevin Cruijssenฉันต้องการปรับปรุงคำตอบของฉัน

Java 8, 103 ไบต์

n->java.util.stream.LongStream.range(1,n+1).map(i->new Long(new StringBuffer(""+i).reverse()+"")).sum()

1
Integer.valueOfสามารถเล่นกอล์ฟถึงnew Integerและ.reverse().toString()สามารถเล่นกอล์ฟ.reverse()+""ได้ที่ นอกจากนี้คุณยังจะต้องมีการนำเข้าที่จำเป็นและพารามิเตอร์แลมบ์ดาเหมือนjava.util.stream.IntStreamและn->ก่อนที่มันจะ และคุณยังสามารถกอล์ฟIntStreamและIntegerไปและLongStream Longคำตอบสุดท้ายจะเป็นn->java.util.stream.LongStream.range(1,n+1).map(i->new Long(new StringBuffer(""+i).reverse()+"")).sum()( 103 ไบต์ - คำตอบปัจจุบันของคุณด้วยการนำเข้าเพิ่มและพารามิเตอร์แลมบ์ดาจะเป็น117 ไบต์ ) ยังคง +1 คำตอบที่ดี!
Kevin Cruijssen

@KevinCruijssen ขอบคุณสำหรับอินพุตที่มีค่าของคุณ ฉันจะอัปเดตคำตอบของฉัน ขอบคุณ :)
CoderCroc

3

Japt , 7 5 ไบต์

-2 ไบต์ต้องขอบคุณ @Shaggy

õs xw

ลองออนไลน์!

คำอธิบาย

õs xw  Implicit input of integer U
õs     Create range [1,U] and map to strings
    w  Reverse each string
   x   Sum the array, implicitly converting to numbers.

โซลูชันเก่า 7 ไบต์

z2การรักษานี้ตั้งแต่มันเย็นจริงๆการใช้งานของ

õs z2 x

ลองออนไลน์!

คำอธิบาย

õs z2 x  Implicit input of integer U
õs       Create range [1,U] and map to strings
   z2    Rotate the array 180°, reversing strings
      x  Sum the array, implicitly converting back to integers

1
คุณจะรู้ว่าz2บนอาร์เรย์แบนเป็นเช่นเดียวกับw, righ ... อืมม์ ... แก้ตัวไม่เพียงพอของฉันที่ Japt ...
ETHproductions

6 ไบต์: ขอบคุณที่สมาชิกใหม่ของõ_swÃx N.s(f)
Shaggy

หรือแม้แต่เพียงõs xw5 ไบต์
Shaggy

@Shaggy ฉันไม่อยากจะเชื่อเลยว่าไม่มีใครพูดถึงวิธีแก้ปัญหา 5 ไบต์จนกระทั่งตอนนี้ ... จะแก้ไขในไม่ช้า สำหรับ 6-byte ถ้ามันถูกเพิ่มหลังจากการโพสต์ความท้าทายนี้ฉันคิดว่ามันจะไม่ใช่การแข่งขัน
Justin Mariner

@JustinMariner ไม่สามารถ! : D ถึงแม้ว่ามันจะเป็นความอัปยศที่จะz2หลอกให้ใช้ นั่นเป็นอัจฉริยะที่น่ารังเกียจ โปรดทราบว่าไม่ใช่การแข่งขันคือไม่ได้เป็นสิ่งที่
Shaggy

3

C ++, 146 ไบต์

#include<string>
using namespace std;int r(int i){int v=0,j=0;for(;j<=i;++j){auto t=to_string(j);reverse(t.begin(),t.end());v+=stoi(t);}return v;}

เยี่ยมมาก! คุณสามารถสำรองไบต์ได้โดยการลบส่วนหัวและวาง "using namespace std" (ตรวจสอบที่นี่tio.run/#cpp-gcc ) ฉันยังคิดว่าคุณสามารถแทนที่ "auto t" ด้วย "t" (?)
koita_pisw_sou

ใช่ koita_pisw_sou ถูกต้องเกี่ยวกับส่วนแรก autoแต่คุณจำเป็นต้อง
Zacharý

@koita_pisw_sou คุณหมายถึงว่าฉันสามารถแยกคำสั่งส่วนหัวออกจากการนับไบต์หรือไม่ เหมือนกันกับ namespace หรือไม่ autoต้องการคำหลัก
HatsuPointerKun

ใช่ตรวจสอบลิงก์ที่ฉันส่งไป
koita_pisw_sou

(อ๊ะฉันไม่แน่ใจเกี่ยวกับการลบส่วนหัว!) แต่ฉันหมายถึงการusing namespace std;บันทึกไบต์
Zacharý






2

Neim , 4 ไบต์

Δ𝐫)𝐬

ลองออนไลน์!

คำอธิบาย

Δ )              for each element 1 to n (outputs list)
 𝐫               reverse 
   𝐬             sum 

2
ทางเลือกอื่น: 𝐈Ψ𝐫𝐬(สร้างช่วงรวมกลับแต่ละองค์ประกอบรวม)
Okx

@Okx ไม่รู้ว่ามีΨโทเค็นอยู่จริง! จะต้องใช้มันอย่างแน่นอนในการเข้าใจถึงปัญหาหลังเหตุการณ์ ดีจริง
ขยะอวกาศ

2

C (gcc) , 71 ไบต์

q(n,x,p){p=n?q(n/10,x*10+n%10):x;}f(w,a,e){for(a=0;w;)a+=q(w--,0);e=a;}

ลองออนไลน์!


รออะไร? วิธีการf()ส่งกลับผลของมันโดยไม่ต้องมีreturnคำสั่ง? ไม่e=aสอนปรุงแต่งลงทะเบียนในลักษณะดังกล่าวว่าผลที่จะถูกเก็บไว้ในการลงทะเบียนเดียวกันมากกว่าหนึ่งที่ใช้โดยค่ากลับมา?
กอตติเนต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.