Advertisement
Drowze

APC B XX - Adicionais1 - 04 (maior primo até n)

Sep 21st, 2014
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.63 KB | None | 0 0
  1.  /* Escreva um subprograma que recebe um número inteiro n passado por
  2. parâmetro e devolve o maior número primo que é menor ou igual a n. */
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6.  
  7. int DevolvePrimo(int n);
  8.  
  9. void main(){
  10.     int n;
  11.     printf("Digite um numero positivo n e devolverei o maior numero primo ate n\nn: ");
  12.     scanf("%d",&n);
  13.     printf("O maior numero primo ate %d eh: %d\n", n, DevolvePrimo(n));
  14.  
  15.     system("Pause");
  16. }
  17.  
  18. int DevolvePrimo(int n){
  19.     int x=n/2, primo = 1; //0 false, 1 true
  20.     while(x>=2 && primo == 1){
  21.         if(n%x==0)
  22.             primo = 0;
  23.         else x--;
  24.     }
  25.     if(n > 2 && primo == 0) DevolvePrimo(n-1);
  26.     else return n;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement