Thread overview | |||||
---|---|---|---|---|---|
|
September 01, 2014 Possible difference in compilers? | ||||
---|---|---|---|---|
| ||||
Hi everyone So I've been working on the problems over at HackerRank.com trying to gain some familiarity with D. I use a Windows computer with VisualD, but the server used to test the program uses Ubuntu (I can't tell which compiler they're actually using). The problem I'm stuck on now is the Utopian Tree (https://www.hackerrank.com/challenges/utopian-tree). My solution I came up with (and works locally) is: import std.stdio; void main() { int height=1,t=1,oldN=0,n; readf(" %d\n", &t); foreach (i;0 .. t) { readf(" %d\n", &n); foreach (j; oldN .. n) height = (j % 2) ? height + 1 : height * 2; writeln(height); oldN = n; } } For the test cases this only produces the first output (correctly), but then hits a compiler error with format.d before the next one. Any ideas what might be going on? Thanks, Charles |
September 01, 2014 Re: Possible difference in compilers? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Charles | > For the test cases this only produces the first output
> (correctly), but then hits a compiler error with format.d before
> the next one. Any ideas what might be going on?
Figured it out. The issue was the \n character at the end of the readf statements.
|
September 01, 2014 Re: Possible difference in compilers? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Charles | Charles:
> My solution I came up with (and works locally) is:
>
> import std.stdio;
> void main() {
> int height=1,t=1,oldN=0,n;
> readf(" %d\n", &t);
> foreach (i;0 .. t) {
> readf(" %d\n", &n);
> foreach (j; oldN .. n)
I suggest to add a blank line after the import, to move the import inside the main, to add a space after the commas, and to add an immutable to foreach variable.
Bye,
bearophile
|
Copyright © 1999-2021 by the D Language Foundation