Comment Ecrire de code qui tournent vite même avec les grands entiers
svp aider moi j'ai ecrit le code suivant mais avec le grandes données çà prends trop de temps
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 1 mai 2013 à 19:24
Salut,
Tu as codé ca en java ?
C'est normal que ce soit long si B vaut 1000000000000000, tu peux optimiser ca, mais pour commencer à optimiser, il faut coder, et on verra après pour le reste.
Donnes nous le code java que tu as produit et je te donnerai quelques pistes.
try
{ String savef="";
File f = new File ("input.txt");
FileReader fr = new FileReader (f);
BufferedReader br = new BufferedReader (fr);
try
{
String line = br.readLine();
if(line!=null)
{
int nb=Integer.parseInt(line);
int k;
for( k = 0;k<nb;k++)
{
int result=0;
line = br.readLine();
StringTokenizer tok = new StringTokenizer(line," ");
BigInteger r = new BigInteger(tok.nextToken());
BigInteger t = new BigInteger(tok.nextToken());
BigInteger C = r.multiply(BigInteger.valueOf(2)).add(BigInteger.valueOf(1));
if(C.compareTo(t)<=0)
{ result++;
r=r.add(BigInteger.valueOf(1));
t=t.subtract(C);
C = r.multiply(BigInteger.valueOf(2)).add(BigInteger.valueOf(3));