นี่เป็นมอดูลที่ถูกป้องกันถาวรเนื่องจากมีความเสี่ยงสูง กรุณาอภิปรายการเปลี่ยนแปลงใด ๆ ทาง(หน้าคุย) คุณอาจส่งคำขอแก้ไขไปยังเพื่อให้แก้ไขได้หากเป็นการแก้ไขที่ไม่มีการคัดค้านหรือมีความเห็นพ้องสนับสนุน คุณยังสามารถขอให้เลิกป้องกันหน้าได้ |
คุณอาจจะต้องการสร้างคู่มือการใช้งานของนี้ ผู้เขียนสามารถทำการทดลองได้ที่กระบะทราย (สร้าง | คัดลอก) และชุดทดสอบ (สร้าง) ของมอดูลนี้ โปรดเพิ่มหมวดหมู่ไปที่หน้าย่อย |
local p = {} function p.factor(frame) number = tonumber(frame.args[1]) productSymbol = frame.args['product'] or '·' bold = frame.args['bold'] and true big = frame.args['big'] and true serif = frame.args['serif'] and true primeLink = frame.args['prime'] and true number = math.floor(number) if number < 2 or number > 1000000 then return '<strong class="error">number out of range</strong>' end result = "" currentNumber = number power = 0 --First take care of 2, the only even prime number. if currentNumber % 2 == 0 then result = '2' currentNumber = currentNumber / 2 power = 1 end while currentNumber % 2 == 0 do currentNumber = currentNumber / 2 power = power + 1 end if power > 1 then result = result..'<sup>'..power..'</sup>'..productSymbol..' ' elseif power == 1 then result = result..' '..productSymbol..' ' end --Now do all odd numbers. prime = 3 while prime <= math.sqrt(currentNumber) do power = 0 if currentNumber % prime == 0 then result = result..prime currentNumber = currentNumber / prime power = 1 end while currentNumber % prime == 0 do currentNumber = currentNumber / prime power = power + 1 end if power > 1 then result = result..'<sup>'..power..'</sup>'..productSymbol..' ' elseif power == 1 then result = result..' '..productSymbol..' ' end prime = prime + 2 end if currentNumber ~= 1 then result = result..currentNumber..' '..productSymbol..' ' end if currentNumber == number and primeLink then return '[['..'prime'..']]' end result = string.sub(result,1,-4) return format(result) end function format(num) if bold then num = '<b>'..num..'</b>' end if serif then if big then num = '<span class="texhtml" style="font-size:165%">'..num..'</span>' else num = '<span class="texhtml">'..num..'</span>' end elseif big then num = '<span style="font-size:165%">'..num..'</span>' end return num end return p
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
niepnmxdulthithukpxngknthawrenuxngcakmikhwamesiyngsung krunaxphipraykarepliynaeplngid thanghnakhuy khunxacsngkhakhxaekikh ipyngphuduaelrabbephuxihaekikhidhakepnkaraekikhthiimmikarkhdkhanhruxmikhwamehnphxngsnbsnun khunyngsamarthkhxihelikpxngknhnaidkhumuxkarichnganmxdul srang khunxaccatxngkarsrangkhumuxkarichngankhxngmxdulni phuekhiynsamarththakarthdlxngidthikrabathray srang khdlxk aelachudthdsxb srang khxngmxdulni oprdephimhmwdhmuipthihnayxy hnayxykhxngmxdulnilocal p function p factor frame number tonumber frame args 1 productSymbol frame args product or bold frame args bold and true big frame args big and true serif frame args serif and true primeLink frame args prime and true number math floor number if number lt 2 or number gt 1000000 then return lt strong class error gt number out of range lt strong gt end result currentNumber number power 0 First take care of 2 the only even prime number if currentNumber 2 0 then result 2 currentNumber currentNumber 2 power 1 end while currentNumber 2 0 do currentNumber currentNumber 2 power power 1 end if power gt 1 then result result lt sup gt power lt sup gt productSymbol elseif power 1 then result result productSymbol end Now do all odd numbers prime 3 while prime lt math sqrt currentNumber do power 0 if currentNumber prime 0 then result result prime currentNumber currentNumber prime power 1 end while currentNumber prime 0 do currentNumber currentNumber prime power power 1 end if power gt 1 then result result lt sup gt power lt sup gt productSymbol elseif power 1 then result result productSymbol end prime prime 2 end if currentNumber 1 then result result currentNumber productSymbol end if currentNumber number and primeLink then return prime end result string sub result 1 4 return format result end function format num if bold then num lt b gt num lt b gt end if serif then if big then num lt span class texhtml style font size 165 gt num lt span gt else num lt span class texhtml gt num lt span gt end elseif big then num lt span style font size 165 gt num lt span gt end return num end return p