digitalmars.D.learn - A specifier readf() for BigInt
- Dennis Ritchie (9/9) Feb 16 2015 Hi.
- Ivan Kazmenko (13/22) Feb 16 2015 The readf function does not seem to support reading BigInts
- Dennis Ritchie (2/16) Feb 17 2015 Thanks.
Hi. And how to read Data from the input stream? import std.stdio; import std.bigint; void main() { BigInt n; readf(" %?", &n); writeln(n); }
Feb 16 2015
On Monday, 16 February 2015 at 19:52:20 UTC, Dennis Ritchie wrote:Hi. And how to read Data from the input stream? import std.stdio; import std.bigint; void main() { BigInt n; readf(" %?", &n); writeln(n); }The readf function does not seem to support reading BigInts directly. However, you can read a string and construct a BigInt from it, either by std.conv.to or directly invoking the constructor: import std.algorithm, std.bigint, std.conv, std.stdio, std.string; void main () { // read a line of space-separated BigInts and print their sum: readln.split.map !(to!BigInt).sum.writeln; // read a line containing one BigInt and print it squared: auto s = BigInt (readln.strip); writeln (s ^^ 2); }
Feb 16 2015
On Tuesday, 17 February 2015 at 07:20:19 UTC, Ivan Kazmenko wrote:The readf function does not seem to support reading BigInts directly. However, you can read a string and construct a BigInt from it, either by std.conv.to or directly invoking the constructor: import std.algorithm, std.bigint, std.conv, std.stdio, std.string; void main () { // read a line of space-separated BigInts and print their sum: readln.split.map !(to!BigInt).sum.writeln; // read a line containing one BigInt and print it squared: auto s = BigInt (readln.strip); writeln (s ^^ 2); }Thanks.
Feb 17 2015