TopcoderArchiveVisit Topcoder
SRM7 Jan 2004
SRM 178

SimpleCalculator

Problem statement, definition, constraints, and public examples.

Problem Statement

A simple calculator accepts the following kinds of strings as input:
  • 1) NUM+NUM
  • 2) NUM-NUM
  • 3) NUM*NUM
  • 4) NUM/NUM
where NUM is a positive integer, between 1 and 10000 inclusive that can contain leading zeros. Return the value produced by the given expression. Here +,-,*, and / denote addition, subtraction, multiplication and division respectively. All operations are done on integers, so "5/3" returns 1.

Definition

Class:
SimpleCalculator
Method:
calculate
Parameters:
String
Returns:
int
Method signature:
int calculate(String input)
(be sure your method is public)

Constraints

  • input will contain between 3 and 50 characters inclusive.
  • input will have the form <NUM><OP><NUM> where<NUM> is a positive integer between 1 and 10000 inclusive, that may contain leading zeros and <OP> is one of (quotes for clarity) '+','*','-', or '/'.
  • input will not contain any spaces.

Examples

  1. "5/3"
    Returns: 1
    Remember integer division is used, so results are truncated.
  2. "15*3"
    Returns: 45
  3. "1-10000"
    Returns: -9999
    Negative results are allowed.
  4. "17+18"
    Returns: 35
  5. "0000000000000018/00000000000000000009"
    Returns: 2
    The long way of writing 18/9.
Back to all problems