153 lines
5.6 KiB
Plaintext
153 lines
5.6 KiB
Plaintext
# (C) முத்தையா அண்ணாமலை 2013
|
|
# (A) என். சொக்கன்
|
|
# எழில் தமிழ் நிரலாக்க மொழி உதாரணம்
|
|
# Muthu A granted permission for this to be included under the BSD license
|
|
# https://bitbucket.org/birkenfeld/pygments-main/pull-requests/443/ezhil-language-lexer-for-pygments/diff
|
|
|
|
## Prime Factors Example
|
|
## பகா எண் கூறுகளைக் கண்டறியும் உதாரணம்
|
|
|
|
## இது நிரல் தரப்பட்ட எண்ணின் பகாஎண் கூறுகளைக் கண்டறியும்
|
|
|
|
நிரல்பாகம் பகாஎண்ணா(எண்1)
|
|
|
|
## இது நிரல்பாகம் தரப்பட்ட எண் பகு எண்ணா அல்லது பகா எண்ணா என்று கண்டறிந்து சொல்லும்
|
|
## பகுஎண் என்றால் 0 திரும்பத் தரப்படும்
|
|
## பகாஎண் என்றால் 1 திரும்பத் தரப்படும்
|
|
|
|
@(எண்1 < 0) ஆனால்
|
|
|
|
## எதிர்மறை எண்களை நேராக்குதல்
|
|
|
|
எண்1 = எண்1 * (-1)
|
|
|
|
முடி
|
|
|
|
@(எண்1 < 2) ஆனால்
|
|
|
|
## பூஜ்ஜியம், ஒன்று ஆகியவை பகா எண்கள் அல்ல
|
|
|
|
பின்கொடு 0
|
|
|
|
முடி
|
|
|
|
@(எண்1 == 2) ஆனால்
|
|
|
|
## இரண்டு என்ற எண் ஒரு பகா எண்
|
|
|
|
பின்கொடு 1
|
|
|
|
முடி
|
|
|
|
மீதம் = எண்1%2
|
|
|
|
@(மீதம் == 0) ஆனால்
|
|
|
|
## இரட்டைப்படை எண், ஆகவே, இது பகா எண் அல்ல
|
|
|
|
பின்கொடு 0
|
|
|
|
முடி
|
|
|
|
எண்1வர்க்கமூலம் = எண்1^0.5
|
|
|
|
@(எண்2 = 3, எண்2 <= எண்1வர்க்கமூலம், எண்2 = எண்2 + 2) ஆக
|
|
|
|
மீதம்1 = எண்1%எண்2
|
|
|
|
@(மீதம்1 == 0) ஆனால்
|
|
|
|
## ஏதேனும் ஓர் எண்ணால் முழுமையாக வகுபட்டுவிட்டது, ஆகவே அது பகா எண் அல்ல
|
|
|
|
பின்கொடு 0
|
|
|
|
முடி
|
|
|
|
முடி
|
|
|
|
பின்கொடு 1
|
|
|
|
முடி
|
|
|
|
நிரல்பாகம் பகுத்தெடு(எண்1)
|
|
|
|
## இது எண் தரப்பட்ட எண்ணின் பகா எண் கூறுகளைக் கண்டறிந்து பட்டியல் இடும்
|
|
|
|
கூறுகள் = பட்டியல்()
|
|
|
|
@(எண்1 < 0) ஆனால்
|
|
|
|
## எதிர்மறை எண்களை நேராக்குதல்
|
|
|
|
எண்1 = எண்1 * (-1)
|
|
|
|
முடி
|
|
|
|
@(எண்1 <= 1) ஆனால்
|
|
|
|
## ஒன்று அல்லது அதற்குக் குறைவான எண்களுக்குப் பகா எண் விகிதம் கண்டறியமுடியாது
|
|
|
|
பின்கொடு கூறுகள்
|
|
|
|
முடி
|
|
|
|
@(பகாஎண்ணா(எண்1) == 1) ஆனால்
|
|
|
|
## தரப்பட்ட எண்ணே பகா எண்ணாக அமைந்துவிட்டால், அதற்கு அதுவே பகாஎண் கூறு ஆகும்
|
|
|
|
பின்இணை(கூறுகள், எண்1)
|
|
பின்கொடு கூறுகள்
|
|
|
|
முடி
|
|
|
|
தாற்காலிகஎண் = எண்1
|
|
|
|
எண்2 = 2
|
|
|
|
@(எண்2 <= தாற்காலிகஎண்) வரை
|
|
|
|
விடை1 = பகாஎண்ணா(எண்2)
|
|
மீண்டும்தொடங்கு = 0
|
|
|
|
@(விடை1 == 1) ஆனால்
|
|
|
|
விடை2 = தாற்காலிகஎண்%எண்2
|
|
|
|
@(விடை2 == 0) ஆனால்
|
|
|
|
## பகா எண்ணால் முழுமையாக வகுபட்டுள்ளது, அதனைப் பட்டியலில் இணைக்கிறோம்
|
|
|
|
பின்இணை(கூறுகள், எண்2)
|
|
தாற்காலிகஎண் = தாற்காலிகஎண்/எண்2
|
|
|
|
## மீண்டும் இரண்டில் தொடங்கி இதே கணக்கிடுதலைத் தொடரவேண்டும்
|
|
|
|
எண்2 = 2
|
|
மீண்டும்தொடங்கு = 1
|
|
|
|
முடி
|
|
|
|
முடி
|
|
|
|
@(மீண்டும்தொடங்கு == 0) ஆனால்
|
|
|
|
## அடுத்த எண்ணைத் தேர்ந்தெடுத்துக் கணக்கிடுதலைத் தொடரவேண்டும்
|
|
|
|
எண்2 = எண்2 + 1
|
|
|
|
முடி
|
|
|
|
முடி
|
|
|
|
பின்கொடு கூறுகள்
|
|
|
|
முடி
|
|
|
|
அ = int(உள்ளீடு("உங்களுக்குப் பிடித்த ஓர் எண்ணைத் தாருங்கள்: "))
|
|
|
|
பகாஎண்கூறுகள் = பட்டியல்()
|
|
|
|
பகாஎண்கூறுகள் = பகுத்தெடு(அ)
|
|
|
|
பதிப்பி "நீங்கள் தந்த எண்ணின் பகா எண் கூறுகள் இவை: ", பகாஎண்கூறுகள்
|