问题描述
1234是一个非常特殊的四位数,因为它的各位数之和为10,编程求所有这样的四位十进制数。 输出格式
按从小到大的顺序输出满足条件的四位十进制数。每个数字占用一行。
43. 算法训练 C*++ Calculations
时间限制:2.0s 内存限制:64.0MB
问题描述
C*++语言和C++语言非常相似,然而C*++的程序有时会出现意想不到的结果。比如像这样的算术表达式:
表达式=基本式 / 表达式+基本式 / 表达式-基本式 基本式=增量 / 系数*增量 增量=a++ / ++a 系数=0/1/2/……/1000
如―5*a++-3*++a+a++‖是合法的C*++表达式。
计算这样的表达式的值的方法:首先是每个基本式进行计算,然后按照正常的算术运算法则计算。如果一个基本式包含―a++‖,则先进行乘法运算再使变量a权值+1;如果一个基本式包含―++a‖,则先使变量a权值+1再进行乘法运算。
然而基本式可以按任意顺序计算,这就是为什么计算结果是完全无法预料的。 你的任务就是去找到最大的可能结果。
第一行,一个整数n,表示变量a的初始值。 第二行,一个合法的C*++表达式。
共一行,一个整数ans,表示最大可能结果。 输入格式 input 1: 1
5*a++-3*++a+a++ input 2: 3 a+++++a 输出格式 output 1: 11
36
output 2: 8
数据规模和约定
对于20%的数据,表达式长度<=20。 另有20%的数据,满足n>=0。
对于100%的数据,-1000<=n<=1000,表达式长度<=10000。 注意表达式开头可能有负号!
44. 算法训练水仙花
时间限制:1.0s 内存限制:256.0MB
水仙花数 问题描述
判断给定的三位数是否水仙花数。所谓水仙花数是指其值等于它本身每位数字立方和的数。例 153 就是一个水仙花数。 153=13+53+33 输入格式 一个整数。 输出格式
是水仙花数,输出\否则输出\不包括引号) 样例输入 123 样例输出 NO
数据规模和约定
一个三位的整数,否则输出\
45. 算法训练王、后传说
时间限制:1.0s 内存限制:256.0MB
问题描述
地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横、坚、斜线位置。
看过清宫戏的中国人都知道,后宫乃步步惊心的险恶之地。各皇后都有自己的势力范围,但也总能找到相安无事的办法。
所有中国人都知道,皇权神圣,伴君如伴虎,触龙颜者死......
现在有一个n*n的皇宫,国王占据他所在位置及周围的共9个格子,这些格子皇后不能使用(如果国王在王宫的边上,占用的格子可能不到9个)。当然,皇后也不会攻击国
37
王。
现在知道了国王的位置(x,y)(国王位于第x行第y列,x,y的起始行和列为1),请问,有多少种方案放置n个皇后,使她们不能互相攻击。 输入格式
一行,三个整数,皇宫的规模及表示国王的位置 输出格式
一个整数,表示放置n个皇后的方案数 样例输入 8 2 2 样例输出 10
数据规模和约定 n<=12
46. 算法训练 A+B problem
时间限制:1.0s 内存限制:1.0GB
问题描述
Given two integers A and B, your task is to output their sum, A+B. 输入格式
The input contains of only one line, consisting of two integers A and B. (0 ≤ A,B ≤ 1 000) 输出格式
The output should contain only one number that is A+B. 样例输入 1 1 样例输出 2
47. 算法训练猴子分苹果
时间限制:1.0s 内存限制:256.0MB
问题描述
38
秋天到了,n只猴子采摘了一大堆苹果放到山洞里,约定第二天平分。这些猴子很崇拜猴王孙悟空,所以都想给他留一些苹果。第一只猴子悄悄来到山洞,把苹果平均分成n份,把剩下的m个苹果吃了,然后藏起来一份,最后把剩下的苹果重新合在一起。这些猴子依次悄悄来到山洞,都做同样的操作,恰好每次都剩下了m个苹果。第二天,这些猴子来到山洞,把剩下的苹果分成n分,巧了,还是剩下了m个。问,原来这些猴子至少采了多少个苹果。 输入格式
两个整数,n m 输出格式
一个整数,表示原来苹果的数目 样例输入 5 1 样例输出 15621 数据规模和约定 0 48. 算法训练学做菜 时间限制:1.0s 内存限制:256.0MB 问题描述 涛涛立志要做新好青年,他最近在学做菜。由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母A,B,C,D。 涛涛现在会做的菜有五种: 1、西红柿炒鸡蛋原料:AABDD 2、酸辣鸡丁原料:ABCD 3、宫保鸡丁原料:CCD 4、水煮西红柿原料:BBB 5、怪味蛋原料:AD 这天早上,开开去早市给涛涛买了一些原料回来。由于事先没有什么计划,涛涛决定,对于现存的原料,每次尽量做菜单上靠前(即编号小)的菜。 现在请你写一个程序,判断一下开开和涛涛中午能吃到哪些菜。 输入格式 共4个整数a,b,c,d。分别表示开开买的A,B,C,D这4种原料的数量。每种原料不会超过30份。 输出格式 39 输出5行。其中第i行表示涛涛做的第i种菜的数目。 样例输入 3 1 2 4 样例输出 1 0 1 0 1 49. 算法训练寂寞的数 时间限制:1.0s 内存限制:256.0MB 问题描述 道德经曰:一生二,二生三,三生万物。 对于任意正整数n,我们定义d(n)的值为为n加上组成n的各个数字的和。例如,d(23)=23+2+3=28, d(1481)=1481+1+4+8+1=1495。 因此,给定了任意一个n作为起点,你可以构造如下一个递增序列:n,d(n),d(d(n)),d(d(d(n)))....例如,从33开始的递增序列为: 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... 我们把n叫做d(n)的生成元,在上面的数列中,33是39的生成元,39是51的生成元,等等。有一些数字甚至可以有两个生成元,比如101,可以由91和100生成。但也有一些数字没有任何生成元,如42。我们把这样的数字称为寂寞的数字。 输入格式 一行,一个正整数n。 输出格式 按照升序输出小于n的所有寂寞的数字,每行一个。 样例输入 40 样例输出 1 3 5 7 40