求计算机奥赛题(高中上海)

发布时间:2024-05-18 13:14 发布:上海旅游网

问题描述:

问题解答:

超级素数(sushu.pas sushu.in sushu.out)
一个n(n≤9)位超级素数是指一个n位正整数,它的前1位,前2位, . . . , 前n位均为素数,例如:7331是个4位超级素数,因为7,73,733,7331均为素数。
输入:n(待产生的超级素数的位数)
输出:所有的n位超级素数,每个一行(按从小到大的顺序)。
样例:输入:1
输出:2
3
5
7
钱币系统问题( money.pas money.in money.out)
某钱币系统由 k (k≤8) 种硬币组成, 币值依次为 a[1],a[2],...,a[k], 其中 a[i](i=1,2,...,k) 为互不相同的正整数, 且依降序排列, a[1]≤100. 给定某整数币值 n(n≤1000), 要求用最少枚数的硬币表示这个币值。
输入: 第1行: k (硬币种数)
第2行: a[1] a[2] ... a[k] (各币值用空格隔开,已按降序排列好)
第3行: n (给定的币值)
输出:若该钱币系统无法表示币值 n,应输出'NO', 否则输出最少钱币枚数。
样例:
输入:3
5 2 1
12
输出 3(最少钱币枚数)
5:2 (以下若干行,每行为“币值:张数”,按币值从大到小)
2:1
工作安排问题(work.pas work.in work.out)
现有 N (N≤8) 件工作, 分别由 N 个人完成, 每人都完成一件,且只完成一件, 每人完成不同工作产生的效益不同。试设计一种分配工作方案, 使完成 N 件工作所需的总效益最高。
输入:
第1行:N(工作任务数N)
第2--N+1行: 第 i+1 为第i个人完成各件工作所产生的效益。(≤1000,整数)
输出:第一行一个数,表示完成N件工作所产生的最大效益。
第二行依次输出每个人做那项工作(格式为“人员编号:工作代号”。人员编号依次为1,2,3……;工作代号依次为A,B,C……。相邻两项间以空格隔开。)
样例:输入:
4
2 15 13 4
10 4 14 15
9 14 16 13
7 8 11 9
输出:
53
1:B 2:D 3:C 4:A

热点新闻