Computer Science 320SC – (2024)
Programming Assignment 1
Due: Friday, July 26 (11:59pm)
Requirements
This first assignment lets you get familar with submission of simple (but correct and efficient) algorithms
to the CompSci 320 automated marker. There are two algorithms/programs required but three different
submissions for marks (two data sets for one of them). It is worth 5% of your total course marks. (Note
future programming assignments will require much more work to obtain the same number of marks so
you are encouraged to make a serious attempt on this one.)
Problem Statement 1: Computing GCD
Read in a sequence of 32-bit signed integers (several per line separated by spaces) until a single line
containing zero (0). There will be at most 1000 integers per line. For each line except for the last one,
compute the greatest common divisor (gcd) of that set of integers. Then output on a line the statement
“The gcd of the integers is x.” where x is the desired gcd. Note, for this problem, all answers should
be non-negative.
The input should be taken from keyboard/stdin/System.in.
Sample Input:
2 4 8
15 0 -5
6 20 25 5 30
28 21952 49 294 3822
0
The precisely formated output should be sent to console/stdout/System.out.
Sample Output:
The gcd of the integers is 2.
The gcd of the integers is 5.
The gcd of the integers is 1.
The gcd of the integers is 7.
Practice I/O
For all programs, the input should be taken from stdin and output stdout. A practice problem (no
marks) for this input will be available on the automarker. Instead of outputting the gcd, simply output
the number of integers for each test case on a line by itself (nothing else). The number of output lines
should be the same as the number of test cases being processed.
1Problem Statement 2: Minimum Double Pair
The input format for this problem is the same as in Problem 1 but all integers (per line) are assumed to
be different. We read in a sequence of 32-bit signed integers (several per line separated by spaces) until
a single line containing zero (0). For each line except for the last one, compute the smallest sum s such
that there are two different pairs of integers (x1, x2) and (y1, y2), where x1 < x2, x1 6= y1 < y2 6= x2,
that both sum to s (e.g., x1 + x2 = y1 + y2 = s). If such a sum s is possible, output on a line “yes: s”.
Otherwise output on a line “None”.
Sample Input:
2 1 3 4
10 20 40 45 5 15 25
24 23 8 29 31 5
10 20 50 51 52 53 54 12 15 16
0
Sample Output:
yes: 5
yes: 25
None
yes: 62
Submission
You need to use just one source file per problem. The file extension indictes which programming
language you are using.
You submit to our automated marking system http://www.cs.auckland.ac.nz/automated-marker. Limited
feedback will be given by the submission system (see Help/FAQ) and you are allowed to resubmit
up to 8 times per problem before a 20% penalty applies.
There is two marks awarded for Problem 1 and three marks awarded for Problem 2 (with the harder
input cases being worth one mark).
2
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。