Question

J'ai une variable numéro de page (page) dont les valeurs d'un incrément à chaque fois. [Numérotation des pages] Mais, maintenant, je dois personnaliser cette numérotation à 1,1,2,2,3,3 ..

Pouvez-vous suggérer une formule pour générer ce genre de série?

EDIT: (réponse)

Après avoir joué avec des macros VBA et pendant un certain temps, je l'ai trouvé un moyen de générer ce type de série pour les numéros de page de MS Word. Cela peut se faire facilement avec des formules et {page} variables dans le mot de formule -

{=(({PAGE} + MOD({PAGE},2))/2)}

Était-ce utile?

La solution 8

Après avoir joué avec des macros VBA et pendant un certain temps, je l'ai trouvé un moyen de générer ce type de série pour les numéros de page de MS Word. Cela peut se faire facilement avec des formules et {page} variables dans le mot de formule -

{=(({PAGE} + MOD({PAGE},2))/2)}

Autres conseils

La réponse est simple: (n + 1) / 2

javascript, adapter à la suite:

for(i=0; i>yourMaximum; i++){
    WriteSomewhere(i + "," + i);
    if(i != i - yourMaximum)   WriteSomewhere(",");
}

Vous pouvez faire ce genre de chose:

    for (int i = 0; i < (pages * 2); i++) {
        System.out.println((i / 2) + 1);
    }

Il est tard, mais il peut aider quelqu'un.

Une réponse mathématique au problème:

Vous n'avez pas besoin de chercher par tous les numéros de n afin d'avoir un résultat spécifique

1 2 3 4 5 6 7 8 9. . . . . . . n

1 1 2 2 3 3 4 4 5. . . . . . . f (n)

formule générale:

f (n) = (n - ((-1) + (-1) ^ n) / 2) / 2

Jouer avec la première (-1), vous pouvez changer les résultats comme ceci:

f (n) = (n - (( 3 ) + (-1) ^ n) / 2) / 2

1 2 3 4 5 6 7 8 9. . . . . . . n

0 0 1 1 2 2 3 3 4. . . . . . . f (n)

Python:

(int(x/2+1) for x in itertools.count())

Ruby

(1..10).map {|n| [n,n]}.flatten
=> [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10]

ou

(1..10).inject([]) {|m,n| m<<n<<n}
=> [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10]

ou

(1..10*2).map {|n| (1+n)/2}
=> [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10]

C #, pas une formule mais un algorithme simpliste.

int[] pages = new int[2*N];
for(i=0; i<N; i++)
{
    page[2*i] = i+1;
    page[2*i+1] = i+2;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top