Erreur d'exécution (NZEC) en simple code
J'obtiens une erreur d'exécution (NZEC) lors de l'exécution du code suivant sur à SPOJ. Je serais très reconnaissant si l'un de vous aurait gentiment signaler ce qu'il se passe.
//0<=A<=B<=10^18, 1<=N<=10^18
using System;
class any
{
static void Main()
{
long t = long.Parse(Console.ReadLine());
ulong a, b, n;
for(long k = 0; k < t; k++)
{
string[]s = Console.ReadLine().Split(' ');
a = ulong.Parse(s[0]);
b = ulong.Parse(s[1]);
n = ulong.Parse(s[2]);
Console.WriteLine(diviEntre2(a, b, n));
}
}
static ulong diviEntre2(ulong f, ulong c, ulong n)
{
ulong k, s, m;
if (f == c && c % n == 0 && f != 0) k = c/n;
else
{
s = f/n;
m = c/n;
k = m - s;
}
return k;
}
}
- Veuillez cocher la bonne réponse si vous en avez un 🙂
Vous devez vous connecter pour publier un commentaire.
NZEC signifie est Non nul, le Code de Sortie. Pour C les utilisateurs, ce sera généré si votre principale méthode ne permet pas d'avoir une return 0; déclaration. D'autres langages comme Java/C++ pourrait générer cette erreur si on lève une exception.
Pour Java, NZEC est retourné lorsque le code génère une exception. Pour les problèmes sur Spoj, etc souvent, la dernière ligne de l'entrée sont les causes de cette exception, si le cas de test ne sont pas terminées par une chaîne d'identification.
Pour de tels cas, un utile hack est pour envelopper votre code dans un try - catch et il suffit de le retourner si il y a une exception. L'exception interceptée signaux que vous avez atteint la fin de l'entrée.
J'ai eu le même message lors de la programmation en java. Il s'est avéré que j'aurais dû mettre mon code source dans le package par défaut (ou de ne pas changer de forfait à tout). J'espère que cela aide quelqu'un.
package problems.tutorial
sur le dessus de mon fichier java. SPOJ signalé NZEC à cause de cette ligne. Quand je l'ai enlevé programme a été évalué à l'amende juste.Je ne sais pas ce que java retourne lorsque la fonction principale est nulle, mais cela peut être la raison de ce message d'erreur. Spoj vérifie également la valeur de retour de votre programme, et il s'attend à 0 (succès/non code d'erreur).
Je suppose que la modification de votre fonction principale de renvoyer 0 va résoudre ce message d'erreur.
J'ai juste eu ce même message d'erreur avec un programme en C, et l'ajout d'un retour 0 changé l'erreur acceptée.
Cette erreur peut également signifier que le programme ne fonctionne pas correctement, c'est la sortie n'est pas le résultat attendu... croyez ou non, il est fort possible que votre code est simplement de ne pas faire ce que la question demande à....
En citant le lien donné à la fin ->
veuillez consulter ce lien Le Système SPOJ
J'ai eu NZEC sur un programme cpp pour le problème "EKO'. J'ai été faire une déclaration de tableau à droite avant le
int main()
déclaration. J'ai changé la déclaration à l'intérieur de la fonction principale et la solution a été accepté.J'ai normalement la déclaration de tableau à l'extérieur de la
main
fonction, mais dans ce cas, le tableau était une grosse (int array[100001]
). Donc peut-être déclarer vos tableaux à l'intérieur demain
.