Interesante yo tampoco acave ese reto
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCitarUn dia intentaba hacer un curso y no podia entrar en la web para hacerlo pero ya havia pagado me salia un mensaje de jaztel al final tuve k coger el pc de otra persona ya que su configuracion era distinta y con el pude hacer el curso.
#include <iostream>
#include <string>
#define cls string limpiarpantalla="cls";+system(limpiarpantalla.c_str ());
using namespace std;
//Pasa numeros decimales a fraccions
int simplifica(float n, float nn) {
float kk,k,a,s,ss = 0;
for (int i=1;i<10;i++) {
s = n/i;
ss = nn/i;
k=0;
k=ss-int(ss);
kk=s-int(s);
if ((k<1)&&(k>0)) {
} else if ((kk>0)&&(kk<1)) {
} else {
cout << endl << s << "/" << ss << endl;
}
}
}
int main () {
float a,b,r1;
int d;
d=1;
cin >> a;
b=int(a)-a;
while (b!=0) {
a=a*10;
d = d * 10;
b=int(a)-a;
}
cls
simplifica(a, d);
}
if ((b<0,11)&&(b>0,1)) {
no hace bien la comparacion y probado de cambiar la coma y de todo pero no he averiguado que le pasa aqui hay el codigo entero#include <iostream>
#include <string>
#define cls string limpiarpantalla="cls";+system(limpiarpantalla.c_str ());
using namespace std;
//Pasa numeros decimales a fraccions
int simplifica(float n, float nn) {
float kk,k,a,s,ss = 0;
for (int i=1;i<10;i++) {
s = n/i;
ss = nn/i;
k=0;
k=ss-int(ss);
kk=s-int(s);
if ((k<1)&&(k>0)) {
} else if ((kk>0)&&(kk<1)) {
} else {
cout << endl << s << "/" << ss << endl;
}
}
}
int main () {
float a,b,r1;
cin >> a;
b=a-int(a);
cls
cout << b << endl;
if ((b<0,11)&&(b>0,1)) {
cout << a << " = " << a*10 << "/" << 10 << endl;
r1=a*10;
simplifica(r1, 10);
} else if ((b<0,101)&&(b>0,11)) {
cout << a << " = " << a*100 << "/" << 100 << endl;
r1=a*100;
simplifica(r1, 100);
}
}
Cita de: Binary_Death en 22 Julio 2012, 00:46 AM
Pues no es la mejor manera de hacerlo, pero yo había hecho una cosilla hace un tiempo que para este reto me irá como anillo al dedo
@Echo Off
SetLocal EnableDelayedExpansion
Title Criba de Eratostenes
::Coded By Binary_Death
Set/P "Utl=Until >> "
:_Main
Set/A "ActN=1"
For /l %%z in (2,1,%Utl%) do (
Set "Lst=!Lst! %%z"
)
:_LoopA
For /f "Tokens=%ActN% Delims= " %%n in ("%Lst%") do (
Set/A "Qrd=%%n*%%n"
If !Qrd! GTR %Utl% GoTo:_EndA
For %%l in (%Lst%) Do (
Set/A "Rst=%%l%%%%n"
If %%l EQU %%n Set/A "Rst=1"
If !Rst! NEQ 0 Set "NLst=!NLst! %%l"
)
Set "Lst=!NLst!" & Set "NLst=" & Set/A "ActN+=1"
)
Goto:_LoopA
:_EndA
Echo.&Echo.%Lst%
Pause > NUL
Exit
Ale, espero que se me dé por válido.
PD: "Until >> " es hasta el número que vas a extraer los primos. Por ejemplo, si pones 100, obtendrás todos los primos del 1 al 100. Si pones 1000, pues lo dicho.
Tiene un límite, no puesto por mí, sino por la cmd y los métodos que usa el programa. Ese límite es "1851". Un número más grande rompe el programa