necesito hacer un programa en C donde determine cuales son los numeros primos en un rango a y b, lo que pasa es que quiero hacerlo solo con while y en una funcion, lo he intentado pero no me ha dado resultado ningun programa que he hecho, ayudaa :c
pon tu código y tus dudas para que podamos ayudarte
Al final creo que lo he conseguido
ahi esta mi codigo
#include <stdio.h>
#include <stdlib.h>
void funx(int a, int b)
{
int cont=0,primo;
while (a<b)
{
a++;
primo=1;
cont=2;
while (cont<=a/2)
{
if(a%cont==0)
primo=0;
cont++;
}
if(primo!=0)
printf(" %d ",a);
}
}
int main()
{
int a,b;
printf("Ingresar Intervalos(a y b) para determinar la cantidad de numeros primos entre ellos\n");
printf("Ingrese el intervalo a:");
scanf("%d",&a);
printf("\nIngrese el intervalo b:");
scanf("%d",&b);
printf("Los numeros primos son : ");
funx(a,b);
return 0;
}
yo me he echo esta función:
void funx(int a, int b){
int cont=0,primo;
while (a<b){
a++;
primo=1;
cont=2;
while (cont<=a/2){
if(a%cont==0)
primo=0;
cont++;
}
if(primo!=0)
printf(" %d ",a);
}
}
y la he probado junto con la que has hecho y funcionan de la misma manera
Usted habia especificado que todo el programa debia hacerse con ciclo while y una funcion.
#include <iostream>
using namespace std;
bool primo(int n);
int main()
{
int v_inicial, v_final;
cout << "Ingrese valor inicial: "; cin >> v_inicial;
cout << "Ingrese valor final : "; cin >> v_final;
while(v_inicial<=v_final){
if(primo(v_inicial)==true){
cout << v_inicial << " ";
}
v_inicial++;
}
cout << endl;
system("pause");
return 0;
}
bool primo(int n)
{
int i=1, cont=0;
while(i<=n){
if(n%i==0){
cont++;
}
i++;
}
if(cont==2){
return true;
}
else{
return false;
}
}
@Beginner Web No hagas sus tareas, no aprenden, es mejor ver sus códigos y señalar sus errores para que aprendan, de lo contrario el foro se convierte en un lugar donde solo vengan a pedir tareas.