By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,515 Members | 1,042 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,515 IT Pros & Developers. It's quick & easy.

Is it a prime?

CodeNoobster
P: 51
Hi guys, I'm embarrassed to ask but, I'm struggling with this problem. I've been instructed to check if a number (inputted by a user) is a prime number or not. So far I've managed to show the fact that for example, 7/7=1 and 7/1=7 and that those are the only operations that have no remainder.

Now the trick is, getting the program to check and make sure that those two operations must be the only ones to have no remainder in order for it to tell the user that 7 is a prime number rather than the user judging for him/herself.

here's what I've done so far
Expand|Select|Wrap|Line Numbers
  1.         Dim input As Integer
  2.         Dim test As Double
  3.         Dim i As Integer = 1
  4.  
  5.         Console.WriteLine("Enter a number to see if it is a prime number")
  6.  
  7.         input = Console.ReadLine()
  8.  
  9.         Console.WriteLine(" ")
  10.  
  11.         While (i <= input)
  12.             test = input Mod i
  13.             Console.WriteLine(test)
  14.             i = i + 1
  15.         End While
  16.  
ANY help would be greatly appreciated guys ;)
Sep 27 '13 #1

✓ answered by Rabbit

I think you're approaching this backwards. I would skip checking 1 and n because the results are always the same. Instead, you should check everything in between 1 and n. If any of those results in a division with no remainder, then you know it's not a prime. Full stop, no need to check the rest.

Share this Question
Share on Google+
6 Replies


Rabbit
Expert Mod 10K+
P: 12,382
I think you're approaching this backwards. I would skip checking 1 and n because the results are always the same. Instead, you should check everything in between 1 and n. If any of those results in a division with no remainder, then you know it's not a prime. Full stop, no need to check the rest.
Sep 27 '13 #2

CodeNoobster
P: 51
hmmmmmm true rabbit, ohk I have remixed the program
Expand|Select|Wrap|Line Numbers
  1.         Dim num1 As Integer
  2.         Dim test As Integer
  3.         Dim finalnum As Integer = (num1 - (num1 - 1)) + 1
  4.  
  5.         Console.WriteLine("Enter a number to check if it is a prime")
  6.         num1 = Console.ReadLine()
  7.  
  8.         While (finalnum <= (num1 - 1))
  9.             test = num1 Mod finalnum
  10.             If (test = 0) Then
  11.                 Console.WriteLine("number is not a prime number")
  12.                 Exit While
  13.             ElseIf (test <> 0) Then
  14.                 Console.WriteLine("number is a prime number")
  15.                 Exit While
  16.             End If
  17.             finalnum = finalnum + 1
  18.         End While       
  19.  
it works, but now there is an accuracy problem. any number entered that's higher than 15 is an anomaly. Non prime numbers are prime numbers and vice verso. Any suggestions?
Sep 27 '13 #3

Rabbit
Expert Mod 10K+
P: 12,382
Lines 11 and 13 to 15 shouldn't be there. That's making it print out every iteration in the loop. Instead you should be setting a flag within the loop and decide what to print out once you're out of the loop.
Sep 27 '13 #4

P: 1
Try this code :
C++ program to enter a no and print it is Prime number or not
Expand|Select|Wrap|Line Numbers
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4. int main()
  5. {
  6. int no, i;
  7.  
  8. cout << "Enter an integer : ";
  9. cin >> no;
  10. int limit = sqrt(no);
  11. i = 2;
  12. while(no%i != 0 && i <= limit)
  13. i++;
  14. if(i > limit)
  15. cout<<no<<" is Prime\n";
  16. return 0;
  17.  
Check the no is Prime or not And compile code online:
http://cbtsam.com/cppl1/cbtsam-cppl1-051.php
Sep 28 '13 #5

CodeNoobster
P: 51
@ Rabbit : Sweet thanks man, i did another remix. It works perfectly. Did it as a console to get a working version of the program. Now that its working, gonna make an interface for it now.

@ jack 003 : thanks man. Though i got a working version, there's no harm in looking for an easier way to do it.
Sep 28 '13 #6

Rabbit
Expert Mod 10K+
P: 12,382
No problem, good luck with the rest of your project.
Sep 28 '13 #7

Post your reply

Sign in to post your reply or Sign up for a free account.