Número de combinações de string

4 respostas
valdir.mendes

Olá pessoal,

como saber quantas combinações possíveis existem no intervalo de strings do tipo “AA0001” à “ZZ9999”, onde os dois primeiros caracteres são letras e os quatro ultimos são números?

to meio encucado com isso, só acho solução POG… :?

se tiver uma solução massa aih, diz aih como fazer…

será que existe alguma api que auxilie nisso?

Vlw!

4 Respostas

davidbuzatto
long comb = 1;
String s = "AA0001";

char[] c = s.toCharArray();

for ( int i = 0; i < c.length; i++ ) {
    if ( Character.isLetter( c[ i ] ) ) // se for letra
        comb *= 26; // 26 letras
    else if ( Character.isDigit( c[ i ] ) ) // se for dígito
        comb * 10;   // 10 dígitos
}

comb -= 1; // vc comecou do AA0001 e não do AA0000

Acho que é isso!

Falow!

valdir.mendes

Na real, vc fez apenas uma analise combinatoria das strings.

E se eu dissesse que o a string 1 e a string 2 fossem dinamicas?
Exemplo: O intervalo entre “AA9999” e “AB0000” é igual a 1.
Mas tenta fazer isso com “AB1234” à “CD4567”… :roll:

valdir.mendes

Galera, axu q consegui…

String s1 = "AA9999";
String s2 = "AB0001";
	
//diferenca das letras	
long temp = Long.parseLong(s2.substring(0, 2), 36) - Long.parseLong(s1.substring(0, 2), 36);
	
//relevancia das letras	
temp*=10000;

//diferenca dos numeros		
temp = (Long.parseLong(s2.substring(2))+temp) - Long.parseLong(s1.substring(2));
		
System.out.println(temp);
davidbuzatto

Realmente errei, mas acho que fui induzido ao erro não acha?

Criado 14 de agosto de 2007
Ultima resposta 14 de ago. de 2007
Respostas 4
Participantes 2