Programa que calcula os primos entre a e r, tal que ap­1 ­1 seja divisível por p2
#include<stdio.h>
short verifica_primo(int i) {
int j;
for (j = 2; j < i; j++)
if (i % j == 0) return 0;
}
return 1;
unsigned long long int potencia(int base, int exp) {
unsigned long long int valor = base;
int j;
if (exp == 1)
return base;
for (j = 2; j<= exp; j++) {
valor = valor * base;
}
}
return valor;
int main() {
int a, r;
printf("Forneça os valores de a e r.\n");
scanf("%d %d", &a, &r);
int p, vprimos[r­a], tamvetor = ­1;
for (p = a + 1; p <= r; p++){
if (verifica_primo(p))
vprimos[++tamvetor] = p;
}
int ind;
printf("Números primos entre %d e %d:\n", a, r);
for (ind = 0; ind <= tamvetor­1; ind++)
printf("%d, ", vprimos[ind]);
printf("%d.\n\n", vprimos[tamvetor]);
int vresult[r­a], k, n = ­1;
for (k = 0; k <= tamvetor; k++) {
if (potencia(a, vprimos[k]­1) % potencia(vprimos[k], 2) == 1) {
n++;
}
vresult[n] = vprimos[k];
}
printf("Os resultados que satisfazem são: ");
for (k = 0; k <= n­1; k++)
printf("%d, ", vresult[k]);
printf("%d.\n", vresult[n]);
}
return 0;
Forneça os valores de a e r.
3 30
Números primos entre 3 e 30:
5, 7, 11, 13, 17, 19, 23, 29.
Os resultados que satisfazem são: 11.
Download

Programa que calcula os primos entre a e r, tal que ap1 1 seja