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
#include<stdio.h>
#include<conio.h>
int main(){
int n,i;
printf("\nEnter a number: ");
scanf("%d",&n);
for(i=2;i<n;i++){
if(n%i==0){
printf("\nGiven number is not a prime number.");
break;
}
}
if(i==n){
printf("\nGiven number is prime.");
}
return 0;
Output:
Enter a number: 13Given number is prime.
Pgcomments
இது பற்றிய தங்களின் கருத்துகளை இங்கே பதிவிடுங்கள் . இது பயனுள்ளதாக விரும்பினால் மற்றவர்களுக்கும் இதை share செய்யுங்கள்.
Comments