จำนวนหลักแฟคทอเรียล


25

ความท้าทายคือการคำนวณผลรวมหลักของแฟคทอเรียลของตัวเลข


ตัวอย่าง

Input: 10
Output: 27

10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800 และผลรวมของตัวเลขในหมายเลข 10! คือ 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27

คุณสามารถคาดหวังว่าอินพุตเป็นจำนวนเต็มมากกว่า 0 เอาต์พุตสามารถเป็นประเภทใดก็ได้ แต่คำตอบควรอยู่ในฐานมาตรฐานของภาษาการเข้ารหัส


กรณีทดสอบ:

10    27
19    45
469   4140
985   10053

หมายเหตุบางภาษาไม่สามารถรองรับจำนวนมากที่สูงกว่าจำนวนเต็ม 32- บิต; สำหรับภาษาเหล่านั้นคุณจะไม่ถูกคาดหวังให้คำนวณแฟคทอเรียลขนาดใหญ่

ลิงก์ OEIS ที่นี่ต้องขอบคุณMartin Ender


นี่คือดังนั้นรหัสที่สั้นที่สุดในตัวละครชนะ!


จำนวนอินพุตสูงสุดที่คาดหวังคืออะไร ด้วยจำนวนเต็ม 32 บิตใน R ความท้าทายนี้ไม่สามารถแก้ไขได้อย่างถูกต้องในอดีตn>21
Billywob

1
@Billywob สำหรับ R ดังนั้นคุณจะต้องไปที่ 20 เท่านั้นฉันจะแก้ไขคำถามเพื่อสะท้อนสิ่งนี้
george

คำตอบ:




8

Mathematica ขนาด 21 ไบต์

Tr@IntegerDigits[#!]&

4
มาที่นี่เพื่อพิมพ์อักขระที่แน่นอนเหล่านี้
Michael Stern

ทำไม[#!]ไม่@#!? (Mathematica noob)
Cyoce

1
@Cyoce เพราะมีความสำคัญสูงกว่า@ !
Martin Ender

7

C ++ 11, 58 ไบต์

แลมบ์ดาในฐานะที่ไม่มีการแก้ไขชื่ออินพุต:

[](int&n){int i=n;while(--n)i*=n;do n+=i%10;while(i/=10);}

หนึ่งในกรณีที่หายากเมื่อ c ++ รหัสของฉันคือสั้นกว่ารหัส C

หากคุณต้องการสนับสนุนกรณีที่มีขนาดใหญ่กว่าให้เปลี่ยนเป็นC ++ 14และใช้:

[](auto&n){auto i=n;while(--n)i*=n;do n+=i%10;while(i/=10);}

และใส่อาร์กิวเมนต์การโทรด้วยullคำต่อท้าย

การใช้งาน:

auto f=
[](int&n){int i=n;while(--n)i*=n;do n+=i%10;while(i/=10);}
;

main() {
  int n=10;
  f(n);
  printf("%d\n",n);
}

7

Ruby, 63 61 53 38 ไบต์

วิธีการใหม่ด้วยการจัดการ:

->n{eval"#{(1..n).reduce:*}".chars*?+}

เก่า:

->n{(1..n).reduce(:*).to_s.chars.map(&:hex).reduce:+}
  • -3 ไบต์ขอบคุณ Martin Ender
  • -5 ไบต์ขอบคุณ GB

1
evalวิธีที่น่าเบื่อแบบเก่า: ->n{eval"#{(1..n).reduce:*}".chars*?+}.
จัดการ

6

Pyth, 7 6 ไบต์

ขอบคุณ @Kade ที่ช่วยฉันไบต์

sj.!QT

ลองออนไลน์!

นี่เป็นครั้งแรกที่ฉันใช้ Pyth ดังนั้นฉันมั่นใจว่าคำตอบของฉันจะเล่นกอล์ฟได้ไม่มากนัก

คำอธิบาย:

s Sum
  j the digits of
    .! the factorial of
      Q the input
    T in base 10

1
10ได้รับมอบหมายให้ตัวแปรTเพื่อให้คุณสามารถทำให้เรื่องนี้sj.!QT:)
Kade

โอเคขอบคุณ! ฉันจะเพิ่มมัน
BookOwl

ดี! ssM`.!ทำงานด้วยเช่นกันใน 6 ไบต์
hakr14

5

Haskell, 41 40 ไบต์

f x=sum$read.pure<$>(show$product[1..x])

ตัวอย่างการใช้งาน: ->f 98510053

สร้างรายการจาก1ถึงxคำนวณผลิตภัณฑ์ขององค์ประกอบรายการเปลี่ยนเป็นสตริงแทนเปลี่ยนอักขระแต่ละตัวให้เป็นตัวเลขและหาผลรวม

แก้ไข: @Angs บันทึกไบต์ ขอบคุณ!


f x=sum$read.pure<$>(show$product[1..x])บันทึกไบต์
Angs

5

Python ขนาด 54 ไบต์

f=lambda n,r=1:n and f(n-1,r*n)or sum(map(int,str(r)))

repl.it


ฉันเพิ่งมากับรุ่นที่เลวร้ายยิ่งขึ้นเล็กน้อยจากนี้ที่มีลักษณะทางที่คล้ายกันเกินไปมันจะเป็นคำตอบที่แยกต่างหาก Bravo
osuka_

5

R, 58 53 ไบต์

แก้ไข: บันทึกหนึ่งไบต์ด้วย @Jonathan Carroll และขอขอบคุณ @Micky T

sum(as.double(el(strsplit(c(prod(1:scan()),""),""))))

น่าเสียดายที่มีจำนวนเต็ม 32- บิตนี้ใช้ได้สำหรับn < 22เท่านั้น รับอินพุตจาก stdin และเอาต์พุตไปยัง stdout

หากต้องการความแม่นยำในระดับที่สูงกว่าจะต้องใช้ไลบรารีภายนอกเช่นRmpfr:

sum(as.numeric(el(strsplit(paste(factorial(Rmpfr::mpfr(scan()))),""))))

1
ฉันถึงคำตอบเดียวกันกับที่คุณทำแล้วพบว่ามีกำไร 1 ไบต์c(x,"")VS :paste(x) sum(as.integer(el(strsplit(c(factorial(scan()),""),""))))รวมผลลัพธ์แฟกทอเรียลเป็นอักขระและstrsplitส่งคืนเป็นรายการที่สองดังนั้นelยังคงใช้งานได้และแยกองค์ประกอบรายการแรก
Jonathan Carroll

2
แล้วไงprod(1:scan())ล่ะ
MickyT

1
ก็as.double ควรจะพอเพียง
MickyT

@MickyT ขอบคุณ! Updated
Billywob

strtoiทำงานเป็นทดแทนที่สั้นกว่าas.doubleผมคิดว่า
Giuseppe

4

Pip , 8 ไบต์

$+$*++,a

ลองออนไลน์!

คำอธิบาย

      ,a    # range
    ++      # increment
  $*        # fold multiplication
$+          # fold sum

ขออภัยฉันจัดการเพื่อโพสต์คำตอบ 05AB1E ก่อนหน้าคุณ;)
Magic Octopus Urn

2
@carusocomputing: ฮิฮิ มีฉันมีโอกาสที่จะดูเป็นภาษาใหม่ :)
Emigna

1
ฉันคิดว่าคุณเป็นคนแรกที่นอกเหนือจากฉันที่จะใช้ Pip สำหรับคำตอบกอล์ฟที่ไม่ได้พูดได้หลายภาษา : D
DLosc



3

Java 7, 148 ไบต์

int s=1,ret=0;while(i>1){s=s*i; i--;}String y=String.valueOf(s);for(int j=0;j<y.length();j++){ret+=Integer.parseInt(y.substring(j,j+1));}return ret;

@EyalLev ไม่มีข้อ จำกัด ที่ระบุในคำถาม คุณคาดหวังว่าจะจัดการกับแฟคทอเรียลที่ยาวกว่า 9,223,372,036,854,775,807 หรือไม่?
jacksonecac

3

Ruby, 63 60 53 51 ไบต์

->n{a=0;f=(1..n).reduce:*;f.times{a+=f%10;f/=10};a}

ขอบคุณ Martin สำหรับความช่วยเหลือในการเล่นกอล์ฟ


3

Pushy , 4 ไบต์

fsS#

$ pushy facsum.pshy 5ให้ข้อมูลเกี่ยวกับบรรทัดคำสั่ง: นี่คือรายละเอียด:

f      % Factorial of input
 s     % Split into digits
  S    % Push sum of stack
   #   % Output

3

อ็อกเทฟ 30 ไบต์

@(n)sum(num2str(prod(1:n))-48)

[1 2 ... n]คำนวณปัจจัยโดยใช้ผลิตภัณฑ์ของรายการ แปลงเป็นสตริงและลบออก48จากองค์ประกอบทั้งหมด (รหัส ASCII สำหรับ0) ในที่สุดมันก็สรุปมัน :)


3

bash (seq, bc, fold, jq), 34 33 ไบต์

แน่นอนที่สุดไม่ใช่ความหรูหรา แต่สำหรับความท้าทาย

seq -s\* $1|bc|fold -1|jq -s add

fold -1บันทึกเป็นไบต์
Digital Trauma

@DigitalTrauma แก้ไขแล้ว! ขอบคุณ
Adam

3

C, 58 ไบต์

มันไม่สมบูรณ์แบบ ใช้งานได้เนื่องจากต้องเริ่มต้นที่ -1 แนวคิดคือการใช้สองฟังก์ชันแบบเรียกซ้ำในหนึ่งฟังก์ชัน มันไม่ง่ายอย่างที่ฉันคิดไว้ก่อน

a=-1;k(i){a=a<0?i-1:a;return a?k(i*a--):i?i%10+k(i/10):0;}

รูปแบบการใช้งานและเข้าใจได้:

a = -1;
k(i){
   a = a<0 ? i-1 : a;
   return a ? k(i*a--) : i? i%10+k(i/10) :0;
}

main() {
   printf("%d\n",k(10));
}

แก้ไข: ฉันพบ metode ที่ให้ใช้ฟังก์ชันนี้หลายครั้ง แต่ความยาวคือ 62 ไบต์

a,b;k(i){a=b?a:i+(--b);return a?k(i*a--):i?i%10+k(i/10):++b;}

เป็นความคิดที่ดี แต่ฉันไม่เข้าใจว่าทำไมมันจึงไม่สั้นกว่าที่จะใช้ฟังก์ชันหนึ่งเพื่อคืนค่าแฟกทอเรียลและอีกอันหนึ่งเพื่อคำนวณผลรวมหลักเช่น (b (10)) คำว่า "ส่งคืน" นานเกินไปหรือไม่
JollyJoker

กลับมากินเยอะ แน่นอนว่าฉันลองแล้ว บางทีใครบางคนสามารถทำได้อย่างน้อยฉันก็ไม่สามารถทำงานได้
teksturi

1
คุณสามารถยอมรับอาร์กิวเมนต์สองข้อเพื่อบันทึกสองสามไบต์: codegolf.stackexchange.com/a/153132/77415
user84207

3

Perl 6 , 21 ไบต์

{[+] [*](2..$_).comb}

ขยาย:

{  # bare block lambda with implicit parameter 「$_」

  [+]           # reduce the following with 「&infix:<+>」

    [*](        # reduce with 「&infix:<*>」
      2 .. $_   # a Range that include the numbers from 2 to the input (inclusive)
    ).comb      # split the product into digits
}

ยินดีด้วยคุณไม่ได้รับคำตอบ 101,010!
RudolfJelin

@ RudolfL.Jelínekไม่มีอะไรเลยในStackOverflowและMeta.StackExchangeฉันเป็นผู้ใช้หมายเลข 1337
Brad Gilbert b2gills

3

Cubix, 33 32 ไบต์

u*.$s.!(.01I^<W%NW!;<,;;q+p@Opus

รูปแบบสุทธิ:

      u * .
      $ s .
      ! ( .
0 1 I ^ < W % N W ! ; <
, ; ; q + p @ O p u s .
. . . . . . . . . . . .
      . . .
      . . .
      . . .

ลองออนไลน์!

หมายเหตุ

  • ทำงานร่วมกับอินพุตถึงและรวมถึง 170 อินพุตที่สูงขึ้นส่งผลให้เกิดการวนซ้ำไม่สิ้นสุดเนื่องจากแฟคทอเรียลให้ผลกับInfinityตัวเลข (ในทางเทคนิคแล้วมันเป็นคุณสมบัติที่ไม่สามารถเขียนได้เขียนได้ไม่นับไม่ได้
  • ความแม่นยำจะหายไปสำหรับอินพุต 19 และสูงกว่าเนื่องจากตัวเลขที่สูงกว่า 2 53 (= 9 007 199 254 740 992) ไม่สามารถจัดเก็บใน JavaScript ได้อย่างถูกต้อง

คำอธิบาย

โปรแกรมนี้ประกอบด้วยสองลูป ตัวแรกจะคำนวณแฟคทอเรียลของอินพุตส่วนอีกอันจะแยกผลลัพธ์ออกเป็นตัวเลขและรวมเข้าด้วยกัน จากนั้นผลรวมจะถูกพิมพ์และโปรแกรมจะเสร็จสิ้น

เริ่มต้น

อันดับแรกเราต้องเตรียมสแต็ก สำหรับส่วนนั้นเราใช้สามคำสั่งแรก IP เริ่มต้นที่บรรทัดที่สี่ชี้ไปทางทิศตะวันออก สแต็กว่างเปล่า

      . . .
      . . .
      . . .
0 1 I . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
      . . .
      . . .
      . . .

เราจะเก็บผลรวมไว้ที่ด้านล่างสุดของสแต็กดังนั้นเราต้องเริ่มต้นด้วย0การหาผลรวมโดยจัดเก็บที่ด้านล่างของสแต็ก จากนั้นเราจำเป็นต้องกด a 1เนื่องจากอินพุตจะถูกคูณด้วยหมายเลขก่อนหน้านั้น หากนี่เป็นศูนย์แฟคทอเรียลจะให้ผลเป็นศูนย์เสมอ สุดท้ายเราอ่านอินพุตเป็นจำนวนเต็ม

ตอนนี้สแต็คคือ[0, 1, input]และ IP อยู่ที่บรรทัดที่สี่คอลัมน์ที่สี่ชี้ไปทางทิศตะวันออก

ห่วงแฟคทอเรียล

นี่คือลูปแบบง่ายที่คูณสององค์ประกอบบนสุดของสแต็ก (ผลลัพธ์ของลูปก่อนหน้าและอินพุต - n และจากนั้นจะลดอินพุตมันจะแตกเมื่ออินพุตถึง 0 $คำสั่งจะทำให้ IP ข้ามu- เทิร์นวนลูปเป็นส่วนต่อไปนี้ของคิวบ์ IP เริ่มที่บรรทัดที่สี่คอลัมน์ที่สี่

      u * .
      $ s .
      ! ( .
. . . ^ < . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
      . . .
      . . .
      . . .

เนื่องจาก^ตัวละคร IP เริ่มเคลื่อนที่ไปทางเหนือทันที จากนั้นuจะหมุน IP ไปรอบ ๆ และเลื่อนไปทางขวา ที่ด้านล่างมีลูกศรอื่น: ชี้กลับเข้าไปในทรัพย์สินทางปัญญา< ^สแต็กเริ่มต้น[previousresult, input-n]โดยที่nจำนวนของการวนซ้ำ อักขระต่อไปนี้ถูกดำเนินการในลูป:

*s(
*   # Multiply the top two items
    #   Stack: [previousresult, input-n, newresult]
 s  # Swap the top two items
    #   Stack: [previousresult, newresult, input-n]
  ( # Decrement the top item
    #   Stack: [previousresult, newresult, input-n-1]

จากนั้นด้านบนของสแต็ค (ลดลงการป้อนข้อมูล) จะตรวจสอบกับ0โดย!การเรียนการสอนและถ้ามันเป็น0ที่uตัวละครข้าม

รวมตัวเลข

IP ล้อมรอบลูกบาศก์จบลงด้วยอักขระตัวสุดท้ายในบรรทัดที่สี่โดยเริ่มจากชี้ไปทางทิศตะวันตก ลูปต่อไปนี้ประกอบด้วยอักขระที่เหลืออยู่ทั้งหมด:

      . . .
      . . .
      . . .
. . . . . W % N W ! ; <
, ; ; q + p @ O p u s .
. . . . . . . . . . . .
      . . .
      . . .
      . . .

การวนซ้ำจะลบรายการบนสุดออกจากสแต็ก (ซึ่งเป็นอย่างใดอย่างหนึ่ง10หรือ0) จากนั้นตรวจสอบสิ่งที่เหลืออยู่ของผลลัพธ์ของแฟคทอเรียล หากสิ่งนั้นถูกลดขนาดลงไป0ด้านล่างของสแต็ก (ผลรวม) จะถูกพิมพ์และโปรแกรมจะหยุด มิฉะนั้นคำแนะนำต่อไปนี้จะได้รับการดำเนินการ (สแต็คเริ่มต้นเป็น[oldsum, ..., factorial]):

N%p+q;;,s;
N          # Push 10
           #   Stack: [oldsum, ..., factorial, 10]
 %         # Push factorial % 10
           #   Stack: [oldsum, ..., factorial, 10, factorial % 10]
  p        # Take the sum to the top
           #   Stack: [..., factorial, 10, factorial % 10, oldsum]
   +       # Add top items together
           #   Stack: [..., factorial, 10, factorial % 10, oldsum, newsum]
    q      # Send that to the bottom
           #   Stack: [newsum, ..., factorial, 10, factorial % 10, oldsum]
     ;;    # Delete top two items
           #   Stack: [newsum, ..., factorial, 10]
       ,   # Integer divide top two items
           #   Stack: [newsum, ..., factorial, 10, factorial/10]
        s; # Delete the second item
           #   Stack: [newsum, ..., factorial, factorial/10]

และลูปเริ่มต้นอีกครั้งจนกระทั่งfactorial/10เท่ากับ 0


3

C, 47 ไบต์

f(n,a){return n?f(n-1,a*n):a?a%10+f(0,a/10):0;}

การใช้งาน:

f(n,a){return n?f(n-1,a*n):a?a%10+f(0,a/10):0;}
main() {
  printf("answer: %d\n",f(10,1));
}

2

Python ขนาด 57 ไบต์

import math
lambda n:sum(map(int,str(math.factorial(n))))

ลองออนไลน์


คุณสามารถใช้เห็บกลับแทนสายการบินเหรอ?
nedla2004

2
@ nedla2004 นั่นจะผนวกLครั้งหนึ่งแฟคทอเรียลใหญ่พอที่จะกลายเป็นเวลานาน
Kade

2

แบตช์ 112 ไบต์

@set/af=1,t=0
@for /l %%i in (1,1,%1)do @set/af*=%%i
:g
@set/at+=f%%10,f/=10
@if %f% gtr 0 goto g
@echo %t%

set/aทำงานได้อย่างสะดวกกับค่าปัจจุบันของตัวแปรดังนั้นจึงทำงานได้ตามปกติภายในลูป ทำงานได้มากถึง 12 เนื่องจากข้อ จำกัด ของประเภทจำนวนเต็มของแบทช์ดังนั้นในทางทฤษฎีแล้วฉันสามารถบันทึกไบต์ด้วยการสมมติว่าf<1e9:

@set/af=1,t=0
@for /l %%i in (1,1,%1)do @set/af*=%%i
@for /l %%i in (1,1,9)do @set/at+=f%%10,f/=10
@echo %t%

แต่วิธีนั้นเป็นบ้า ... ฉันอาจเขียนโค้ดในกรณีนั้น (97 ไบต์):

@call:l %1 1 1 2 6 6 3 9 9 9 27 27 36 27
@exit/b
:l
@for /l %%i in (1,1,%1)do @shift
@echo %2

2

JavaScript (ES6), 50 ไบต์

f=(n,m=1,t=0)=>n?f(n-1,n*m):m?f(n,m/10|0,t+m%10):t

ทำงานได้สูงสุดn=22เนื่องจากข้อ จำกัด ด้านความแม่นยำของจุดลอยตัว


2

Befunge 93 , 56 54 bytes

2 ไบต์ที่บันทึกไว้ใช้เพื่อรับแทนคำพูด ขอผมเลื่อน 2 เส้นบนเหนือ 1 ลดพื้นที่สีขาวที่ไม่จำเป็น

ลองออนไลน์!

&#:<_v#:-1
: \*$<:_^#
g::v>91+%+00
_v#<^p00</+19
@>$$.

คำอธิบาย:

&#:<                Gets an integer input (n), and reverses flow direction
&#:< _v#:-1         Pushes n through 0 onto the stack (descending order)

:  \*$<:_^#         Throws the 0 away and multiplies all the remaining numbers together

(reorganized to better show program flow):
vp00< /+19 _v#<    Stores the factorial at cell (0, 0). Pushes 3 of whatever's in
> 91+%+ 00g ::^    cell (0, 0). Pops a, and stores a / 10 at (0, 0),
                   and adds a % 10 to the sum.

@>$$.              Simply discards 2 unneeded 0s and prints the sum.

คุณถูก. ฉันกำลังทำงานกับรุ่นใหม่ FYI ฉันใช้ quickster.com เพราะคนอื่น ๆ ที่ฉันพบไม่ได้ปฏิบัติอย่างถูกต้องเมื่อมีเพียงหนึ่ง # ในสแต็ก
MildlyMilquetoast

ขอบคุณ! ดูเหมือนว่ารหัสนี้จะทำงานได้อย่างถูกต้องในรุ่นBefunge-98อาจเป็นเพราะวิธีการใส่
MildlyMilquetoast

48 ไบต์ซึ่งจัดการ 0 อย่างถูกต้อง
Jo King

2

Javascript ES6 - 61 54 ไบต์

n=>eval(`for(j of''+(a=_=>!_||_*a(~-_))(n,t=0))t-=-j`)

แก้ไข:ขอบคุณ Hedi และ ETH ผลิตภัณฑ์สำหรับการโกนหนวดออก 7 ไบต์ ฉันจะต้องจำไว้ว่าเคล็ดลับ t - = - j


1
คำตอบที่ดี! คุณสามารถบันทึกสองสามไบต์ในรูปแบบต่าง ๆ :n=>{a=_=>!_||_*a(~-_);t=0;for(j of''+a(n))t-=-j;return t}
ETHproductions

@ETHproductions บางไบต์สามารถบันทึกได้มากขึ้นด้วย eval:n=>eval(`for(j of''+(a=_=>!_||_*a(~-_))(n,t=0))t-=-j`)
Hedi

@Hedi ฉันรู้ว่าฉันทำมันทีละขั้นตอน :-)
ETHproductions

2

AHK , 60 ไบต์

a=1
Loop,%1%
a*=A_Index
Loop,Parse,a
b+=A_LoopField
Send,%b%

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


2

J, 12 11 ไบต์

บันทึกแล้ว 1 ไบต์ขอบคุณที่ cole!

1#.10#.inv!

สิ่งนี้ใช้ผลรวม ( 1#.) กับตัวเลข (โดยใช้invการแปลงผกผัน#.กับฐานของ10) ของแฟคทอเรียล ( !) ของการโต้แย้ง

กรณีทดสอบ

หมายเหตุ: สุดท้ายสองกรณีทดสอบ bigints xเช่นการทำเครื่องหมายโดยต่อท้าย

   f=:10#.inv!
   (,. f"0) 10 19 469x 985x
 10    27
 19    45
469  4140
985 10053

คุณสามารถใช้"."0":เพื่อรับตัวเลข
Bolce Bussiere

11 ไบต์: 1#.,.&.":@!ซึ่งต้องการความแม่นยำเพิ่มขึ้นสำหรับกรณีเล็ก ๆ ด้วย (ไม่แน่ใจว่าทำไม) นอกจากนี้ยังมี 11 1#.10#.inv!ไบต์:
โคล


1

C, 63 60 ไบต์

-3 ไบต์สำหรับdo...whileลูป

i;f(n){i=n;while(--n)i*=n;do n+=i%10;while(i/=10);return n;}

Ungolfed และการใช้งาน:

i;
f(n){
 i=n;
 while(--n)
  i*=n;
 do
  n+=i%10;
 while(i/=10);
 return n;
}

main() {
 printf("%d\n",f(10));
}

เรากำหนด f (n) intตามค่าเริ่มต้นหรือไม่
Mukul Kumar

@MukulKumar นี่เป็นมาตรฐานใน C หากไม่มีประเภทintจะถือว่าเป็น
Karl Napf
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.