Let's say we want to check whether a number N is a prime number or not. The idea to solve this problem is to iterate through all the numbers starting from 2 to N using a loop and for every number check if it divides N. If you find any number that divides, we conclude that N is not prime (you should break from the loop as you don't need check further for this number). If we did not find any number between 2 and N which divides N then it means that N is prime. But one challenge could arise when you need to know the reason why your loop breaks. Is it because we managed to divide or is it that the loop completed?

Respuesta :

Answer:

1) its because we managed to divide the answer so it is not a prime number.

2)

Code:

#include <stdio.h>

int main()

{

   int i, j, n, isPrime; // isPrime is used as flag variable

   /* Input upper limit to print prime */

   printf("Enter your n : ");

   scanf("%d", &n);

   printf("Prime numbers from 1 to %d:\n", n);

   /* Find all Prime numbers between 1 to n */

   for(i=2; i<=n; i++)

   {

       /* Assume that the current number is Prime */

       isPrime = 1;  

       /* Check if the current number i is prime or not */

       for(j=2; j<=i/2; j++)

       {

           /*

            * If i is divisible by any number other than 1 and self

            * then it is not prime number

            */

           if(i%j==0)

           {

               isPrime = 0;

               break;

           }

       }

       /* If the number is prime then print */

       if(isPrime==1)

       {

           printf("%d,\n ", i);

       }

   }

   return 0;

}

Answer:

I am writing a Python program.    

N = int(input("Enter a number: "))      # prompts user to enter a number

if N > 1:  #if the input number is greater than 1

  for k in range(2,N):   # loop starts which iterates from 2 to input number

      if (N % k) == 0:   # if input number is divisible by value in k

          print(N,"is not a Prime Number")  #displays input no. is not prime

          break   #terminates the loop

  else:   # if input numbers is not divisible by any value in k

      print(N,"is a Prime Number")     # displays that input number is prime

else:   # if the input number is less than or equal to 1

     print(N,"is not greater than 1 and is not a prime number")  

Explanation:

Lets take a value of N to understand the above program.

Suppose the user enters the value 5.

This value is stored in N variable.

If condition checks if the value entered by the user is greater than 1. This condition evaluates to true because 5>1

So the program flow enters the loop. The loop has a range() function is used for the iteration purpose in the loop. It will iterate generating the numbers in the given range which means starting from 2 and ending at N (5 here).

If condition in the loop checks if the input number N which is 5 is completely divisible by any number in the given range i.e. from 2 until it reaches N. Mod operator % is used here because if the N is divisible by any number in the range then its remainder will be 0.  If  this condition evaluates to true this means that N is not a prime number as the prime number is only divisible by 1 and itself. So if this condition is true then the line 5 is not a Prime Number is displayed in the output.

At every iteration the mod of number 5 and each number in the given range is computed and is checked if the result is 0 e.g 5%2 = 1 , 5%3 = 2, 5%4 = 1 and none of the result is equal to 0 so this means 5 is a prime number.

If the condition evaluates to False this means that the number N is prime as it is not divisible by any number in the given range. So the line 5 is a Prime Number is printed on the screen as output.

The last else part is executed when the first outer if condition evaluates to false which means if N is less than 1 and this line 5 is not greater than 1 and is not a prime number is printed as result.

Ver imagen mahamnasir
RELAXING NOICE
Relax