Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- void transVetor(int numero,int *vet)
- {
- int i,j,tam;
- tam=numero;
- for(i=2,j=0; i<=numero; j++,i++)
- {
- vet[j]=i;
- }
- vet[j]=0;
- for(j--,i=0; i<=j; i++)
- {
- printf(" %d",vet[i]);
- }
- }
- void primos(int numero)
- {
- int i,j,tam=0,k,l,x,y;
- int *vet;
- vet=(int*)malloc((sizeof(int)*numero)-1);
- int*aux;
- tam=(int)sqrt(numero);
- transVetor(numero,vet);
- printf("\n\n");
- for(i=0; vet[i]!=0; i++)
- {
- aux=(int*)malloc((sizeof(int)*numero)-1);
- aux[i]=vet[i];
- }
- for(i=0; vet[i]!=0&&vet[i]<=tam; i++)
- {
- for(j=0,k=0; vet[j]!=0; j++)
- {
- if(vet[j]%vet[i]!=0 || vet[j]==vet[i])
- {
- aux[k]=vet[j];
- printf(" %d",vet[j]);
- k++;
- }
- aux[k]=0;
- }
- printf("\n");
- if(k!=0)
- {
- x=(int*)realloc(vet,sizeof(int)*(k+1));
- vet=x;
- y=(int*)realloc(aux,sizeof(int)*(k+1));
- aux=y;
- for(l=0; aux[l]!=0; l++)
- {
- vet[l]=aux[l];
- }
- vet[l]=0;
- }
- printf("\n");
- }
- }
- int main()
- {
- int numero;
- //int *vet;
- printf("Digite o numero : ");
- scanf("%d",&numero);
- printf("\n\n");
- //vet=(int*)malloc((sizeof(int)*numero)-1);
- primos(numero);
- return 0;
- }
Add Comment
Please, Sign In to add comment