Definition of prime number
ஒரு எண்(number) n. இது 2-லிருந்து அந்த எண்ணிற்கு முன்பு உள்ள எண்(n-1) அதாவது 2,3,4,5,....n-1 வரை உள்ள எந்த எண்ணாலும் வகுபடாமல்(divide-ஆகாமல்) இருந்தால் அந்த எண்(number) n ஒரு prime number ஆகும்.
logic to find the prime number
for loop 2-லிருந்து துவங்க வேண்டும். (n-1)-ல் முடியவேண்டும். இந்த loop-ன் உள்ளே if condition பயன்படுத்தி n என்ற number-ஐ, i-ல் வரக்கூடிய ஒவ்வொரு number-ம் divide செய்கின்றதா என்று பார்க்கவேண்டும்.
How to find a number is wether divede or not
ஒரு number மற்றொரு number-ஐ divide செய்கின்றதா என்பதை கண்டறிய %(modulo) பயன்படுத்த வேண்டும். அவ்வாறு பயன்படுத்தும்போது அதன் மதிப்பு 0-ஆக இருந்தால் அது divide-ஆகின்றது என்று பொருள். 0-ஐ தவிற வேறு ஏதேனும் number இருந்தால் அது divide ஆகாது என்று பொருள். அதாவது if(n%i==0){..it is divided..}else{..it is not divided..}
இவ்வாறு செயும்போது ஏதேனும் ஒரு number divide செய்துவிட்டாலே "இது prime number இல்லை என்று print செய்துவிட்டு" உடனே loop-ஐ விட்டு வெளியேறவேண்டும். ஏனெனில் 2,3,4,5,....n-1 இதில் ஏதேனும் ஒரு number divide செய்துவிட்டாலே அது prime number இல்லை என்பது உறுதியாகி விடுகின்றது அடுத்த number-ஐ சரிபார்க்க வேண்டிய அவசியம் இல்லை. ஆகையால் break கொடுத்து வெளியேறவேண்டும். இல்லையேல் இது prime number இல்லை என்று தெரிந்த பின்னும் loop சுற்றிகொண்டே இருக்கும். இது தேவை இல்லை.
2,3,4,5,....n-1 இதில் எந்த number-ம் divide செய்யாதபோது i-ஆனது n-1 வரை check செய்துவிட்டு, n என்று மாறிய உடன் loop நின்றுவிடும். இப்பொழுது i-ன் value-ம் n-ன் value-ம் சமமாக இருக்கும். ஆகையால் தான் if(i==n) என்று சரிபார்க்கப்பட்டுள்ளது,இப்போது இதை prime number என்று print செய்து கொள்ளவேண்டும்.
Program
import java.util.*;
public class FindPrimeNumber {
public static void main(String[] args) {
int i,n;
System.err.println("Enter a number");
Scanner sn = new Scanner(System.in);
n=sn.nextInt();
for(i=2;i<n;i++){
if(n%i==0){
System.out.println("Given number is not prime.");
break;
}
}
if(i==n){
System.out.println("Given number is prime.");
}
}
}
Output:
Enter a number: 18Given number is not prime.
Pgcomments
இது பற்றிய தங்களின் கருத்துகளை இங்கே பதிவிடுங்கள் . இது பயனுள்ளதாக விரும்பினால் மற்றவர்களுக்கும் இதை share செய்யுங்கள்.
Comments