Dev - C++ - ejercicio c++

   
Vista:

ejercicio c++

Publicado por Mariana (1 intervención) el 15/05/2017 03:12:59
hola alguien me podria ayudar a hacer este ejercicio por favor :(

Una fábrica produce botellas de vidrio reciclando botellas usadas. Suponiendo botellas similares, la maquina con x botellas usados pueden fabricar1 botella nueva.
Realice un algoritmo para encontrar la cantidad total acumulada de botellas que pueden fabricarse a partir de n botellas en el mercado, reciclándolas repetidamente hasta que ya no quede suficientes botellas para reciclar.
Por ejemplo: Si n = 70, x = 4, la respuesta entregada por el algoritmo es 23 siguiendo el
Siguiente proceso:
Primer reciclaje : se fabrican 70/4 =17 botellas y sobran 2
Segundo reciclaje: n=17+2=19,se fabrican19/4 =4 botellas y sobran 3
Tercer reciclaje: n=4+3=7,se fabrican 7/4 = 1 sobra 3
Cuarto reciclaje: n=1+3=4, se fabrican 4/4=1 botella y ya no quedan suficientes botellas para
reciclar. El algoritmo termina y muestra la cantidad acumulada.
Total de botellas fabricadas: 17+4+1+1=23


Se dice que un número es primo permutable si al intercambiar sus cifras sigue primo. Ejemplos 37, 17, 19 etc.
Desarrolle un programa que muestre los primos permutables que se encuentren entre 1 y N.


estaria muy agradecida si me pueden ayudar en cualquiera de los 2 ejercicios
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ejercicio c++

Publicado por agustin (522 intervenciones) el 15/05/2017 10:49:26
Te los pongo en C.
El de las botellas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main ()
{
	int x=4, n, residuo, total=0;
 
	printf ("Introduce el valor de N: ");
	scanf ("%i", &n);
 
	while (n >= x){
		residuo=n%x;
		n /= x;
		total += n;
		n += residuo;
	}
	printf ("Se produjeron %i botellas.\n", total);
	return 0;
}

Y para el primo permutable:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <stdio.h>
#include  <math.h>
 
enum booleano {false,true};
 
int contarDigitos (int n)
{
	int contador=0;
 
	while (n != 0){
		n /= 10;
		contador++;
	}
	return contador;
}
 
int invertir (int n)
{
	int inverso=0, exponente, residuo;
 
	exponente=contarDigitos (n);
	while (n != 0){
		residuo = n%10;
		exponente--;
		inverso += residuo * pow ( 10.0,(double)exponente);
		n /= 10;
	}
	return inverso;
}
 
int esPrimo (int n)
{
	int i, contador=0, retval=false;
 
	for (i=1; i<=n; i++){
		if (n%i == 0){
			contador++;
		}
	}
	if (contador==2){
		retval=true;
	}
	return retval;
}
 
int main ()
{
	int i, n, inverso, contador=0;
 
	do {
		printf ("Introduce el valor de N: ");
		scanf ("%i", &n);
		if (n<10){
			printf ("Para poder invertirlo tiene que tener al menos 2 digitos.\nVuelva a intentarlo.\n");
		}
	}while (n<10);
 
	for (i=10; i<=n; i++){
		if (esPrimo (i)==true){
			inverso=invertir(i);
			if (esPrimo (inverso)==true){
				printf ("%d  ", i);
				contador++;
			}
		}
	}
	if (contador==0){
		printf ("No hay ningun valor valido.");
	}else {
		printf ("\nSe encontraron %d valores.", contador);
	}
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejercicio c++

Publicado por cristian cristian.milos@gmail.com (4 intervenciones) el 16/05/2017 06:10:38
La respuesta a lo de los numeros primos permutables no compila bien.
me podria decir por que
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejercicio c++

Publicado por agustin (522 intervenciones) el 16/05/2017 08:16:39
Pues no se que harás porque el código es 100% portable a cualquier plataforma y compilador porque es posix. ¿Podrías poner el error que te da al compilar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad