12 2019 档案

摘要:题目: 输出所有形如aabb的4位完全平方数(即前两位数字相等, 后两位数字也相等) 思路: 用枚举法列出所有可能组合,然后判断该数是否为完全平方数。并且 a 从 1 开始, b 从 0 开始。 代码: #include <iostream>#include <cmath>using namespa 阅读全文
posted @ 2019-12-31 14:42 Hello_Nolan 阅读(191) 评论(0) 推荐(0)
摘要:1. 尽量缩短变量的定义范围。 2. 在大数做运算时,注意中间结果,避免溢出。 3. 用计时函数来估算算法效率。 包含头文件 #include<ctime>,使用函数clock(),该函数返回程序目前为止的运行时间,再除以CLOCKS_PER_SEC,得到的值就是秒数。 4. 将输入输出数据存在文件 阅读全文
posted @ 2019-12-31 14:41 Hello_Nolan 阅读(124) 评论(0) 推荐(0)
摘要:题目: 输入正整数a, b,c,输出 a / b 的小数形式,精确到小数点后 c 位。a ,b <= 10^6, c <= 100。输入包含多组数据,结束标记为 a = b = c = 0. 样例输入: 1 6 4 0 0 0 样例输出: Case 1: 0.1667 思路: 按照步骤计算即可。 代 阅读全文
posted @ 2019-12-30 23:16 Hello_Nolan 阅读(184) 评论(0) 推荐(0)
摘要:题目: 输入两个正整数 n < m < 10^6 , 输出 1 / n2 + 1 / (n + 1)2 + ...+ 1 / m2,保留5位小数。输入包含多组数据,结束标记为 n = m = 0 。提示:本题有陷阱。 样例输入: 2 4 65536 655360 0 0 样例输出: Case 1: 阅读全文
posted @ 2019-12-30 23:06 Hello_Nolan 阅读(164) 评论(0) 推荐(0)
摘要:题目: 输入正整数 n <= 20,输出一个倒三角形。例如, n = 5时输出如下: # # # # # # # # # # # # # # # # # # # # # # # # # 思路: 观察可知,可以将上图分为三部分,左半部分都为#,中间部分为 1 排竖的#,右半部分与左半部分对称。 输出的 阅读全文
posted @ 2019-12-30 19:04 Hello_Nolan 阅读(345) 评论(0) 推荐(0)
摘要:题目: 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后三人一排,五人一排,七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入包含多组数据,每组数据包含3个非负整数 a,b,c,表示每种队形排尾的人数( a < 3 , b < 5, c < 7),输出总人数的最小值(或报 阅读全文
posted @ 2019-12-30 16:00 Hello_Nolan 阅读(343) 评论(0) 推荐(0)
摘要:题目: 输出100~999中的所有水仙花数,若3位数满足ABC = A^3 + B^3 + C^3,则称其为水仙花数。例如153 = 1^3 + 5^3 + 3^3,所以153是水仙花数。 思路: 将每个数字的个位,十位,百位分离开,然后按照步骤计算即可。 代码: #include <iostrea 阅读全文
posted @ 2019-12-30 14:28 Hello_Nolan 阅读(220) 评论(0) 推荐(0)
摘要:题目: 输入一些整数,求出它们的最小值,最大值和平均值(保留3位小数),输入保证这些数都是不超过1000的整数。 输入包含多组数据,每组数据第一行是整数个数 n ,第二行是 n 个整数。 n = 0 为输入结束标记,程序应当忽略这组数据。相邻两组数据之间应输出一个空行。 样例输入: 8 2 8 3 阅读全文
posted @ 2019-12-29 23:49 Hello_Nolan 阅读(456) 评论(0) 推荐(0)
摘要:题目: 输入一些整数,求出它们的最小值,最大值和平均值(保留3位小数)。输入保证这些数都是不超过1000的整数。 样例输入: 2 8 3 5 1 7 3 6 样例输出: 1 8 4.375 思路: 因为输入数据的个数不确定,所以要用while循环来读取,同时用累加器 sum 记录总和,计数器 cnt 阅读全文
posted @ 2019-12-29 22:08 Hello_Nolan 阅读(815) 评论(0) 推荐(0)
摘要:题目: 输入 n ,计算 S = 1! + 2! + 3! + ...+ n! 的末6位(不含前导0)。 n <= 10^6, n!表示前 n 个正整数之积。 样例输入: 10 样例输出: 37913 思路: 用一个累加器 sum 来记录总和,用 term 来表示每一项的阶乘。 第一种方法是用二重循 阅读全文
posted @ 2019-12-29 14:34 Hello_Nolan 阅读(512) 评论(0) 推荐(0)
摘要:题目: 计算 π / 4 = 1 - 1 / 3 + 1 / 5 - 1 / 7 + ...,直到最后一项小于 10 ^ -6。 思路: 数列的通项可以表示为 1 / (2 × i + 1 ),观察可知,当 i 是 2 的倍数时,该项为正,否则为负。可以用循环实现累加,每次累加之后判断是否满足条件。 阅读全文
posted @ 2019-12-29 01:10 Hello_Nolan 阅读(281) 评论(0) 推荐(0)
摘要:题目: 猜想:对于任意大于 1 的自然数 n ,若 n 为奇数, 则将 n 变为 3 n + 1 , 否则变为 n 的一半。经过若干次这样的变换,一定会使 n 变为 1. 输入 n ,输出变换的次数。n <= 10^9。 样例输入: 3 样例输出: 7 思路: 当结果不为1时进行循环,用计数器来计算 阅读全文
posted @ 2019-12-29 00:00 Hello_Nolan 阅读(150) 评论(0) 推荐(0)
摘要:1. 用到数学函数,要包含头文件, #include<cmath> 2. 用 const 关键字声明常数 3. 解决问题,保持简单。KISS : keep it simple and stupid 阅读全文
posted @ 2019-12-28 13:57 Hello_Nolan 阅读(130) 评论(0) 推荐(0)
摘要:题目: 输入年份, 判断是否为闰年。如果是,则输出 yes,否则输出 no。提示:简单地判断除以4的余数是不够的。 思路: 判断闰年的方法是,该年满足下列两个条件之一,就是闰年 :(1)是4的倍数,但不是100的倍数,即 (year % 4 == 0 ) && (year % 100 != 0) ( 阅读全文
posted @ 2019-12-28 01:22 Hello_Nolan 阅读(331) 评论(0) 推荐(0)
摘要:题目: 输入三角形3条边的长度值(均为正整数),判断是否能为直角三角形的3个边长。如果可以,则输出 yes,如果不能,则输出 no。如果根本无法构成三角形,则输出not a triangle。 思路: 先判断3条边能否构成普通三角形,如果可以,那么继续判断能否构成直角三角形。 代码: #includ 阅读全文
posted @ 2019-12-28 00:52 Hello_Nolan 阅读(225) 评论(0) 推荐(0)
摘要:题目: 一件衣服95元,若消费满300元,可打八五折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数。 思路: 直接计算即可。 代码: #include <iostream>using namespace std;int main(){ const int PRICE = 95; i 阅读全文
posted @ 2019-12-28 00:38 Hello_Nolan 阅读(203) 评论(0) 推荐(0)
摘要:题目: 输入正整数 n (n < 360),输出 n 度的正弦,余弦函数值。提示:使用数学函数。 思路: 使用函数库中的函数即可。 代码: #include <iostream>#include <cmath>#include <iomanip>using namespace std;int mai 阅读全文
posted @ 2019-12-28 00:31 Hello_Nolan 阅读(251) 评论(0) 推荐(0)
摘要:题目: 输入正整数 n ,输出 1 + 2 + ... + n 的值。提示:目标是解决问题,而不是练习编程。 思路: 利用高斯求和公式即可。 代码: #include <iostream>using namespace std;int main(){ int n = 0; cin >> n; int 阅读全文
posted @ 2019-12-28 00:19 Hello_Nolan 阅读(114) 评论(0) 推荐(0)
摘要:题目: 输入华氏温度 f ,输出对应的摄氏温度 c,保留3位小数。提示:c = 5( f - 32) / 9 思路: 直接计算即可。 代码: #include <iostream>#include <iomanip>using namespace std;int main(){ double f = 阅读全文
posted @ 2019-12-28 00:14 Hello_Nolan 阅读(131) 评论(0) 推荐(0)
摘要:题目: 输入3个整数,输出它们的平均值,保留3位小数。 思路: 直接计算即可。 代码: #include <iostream>#include <iomanip>using namespace std;int main(){ int a = 0, b = 0, c = 0; cin >> a >> 阅读全文
posted @ 2019-12-28 00:06 Hello_Nolan 阅读(130) 评论(0) 推荐(0)
摘要:题目: 已知鸡和兔的总数量为 n ,总腿数为 m。输入 n 和 m, 依次输出鸡的数目和兔的数目。 如果无解,则输出 No answer。 样例输入: 14 32 样例输出: 12 2 样例输入: 10 6 样例输出: No answer 思路: 由题目可知, 鸡 + 兔 = n, 2 鸡 + 4 阅读全文
posted @ 2019-12-27 19:14 Hello_Nolan 阅读(389) 评论(0) 推荐(0)
摘要:题目: 输入两个整数 a 和 b, 交换二者的值,然后输出。 样例输入: 824 16 样例输出: 16 824 思路: 交换变量在C语言中用指针来实现,在C++中可以用引用来实现。 代码: #include <iostream>using namespace std;int main(){ int 阅读全文
posted @ 2019-12-27 18:49 Hello_Nolan 阅读(253) 评论(0) 推荐(0)
摘要:题目: 输入一个三位数,分离出它的百位, 十位和个位,反转后输出。 样例输入: 127 样例输出: 721 思路: 利用整数除整数结果为整数的特性, 1.首先将三位数除以100 ,得到的数字就是百位。 2.将三位数对100取余,得到一个两位数,再将这个两位数除以10, 得到的数字就是十位。 3.直接 阅读全文
posted @ 2019-12-27 18:39 Hello_Nolan 阅读(596) 评论(0) 推荐(0)
摘要:题目: 输入底面半径 r 和高 h ,输出圆柱体的表面积,保留3位小数。 样例输入: 3.5 9 样例输出: Area = 274.889 思路: 圆柱体表面积为S, 底面面积为S1,侧面面积为S2,则S = 2S1 + S2。 其中S1 = PI × R × R,S2 = 2 × PI × R 设 阅读全文
posted @ 2019-12-27 18:11 Hello_Nolan 阅读(474) 评论(0) 推荐(0)
摘要:题目: 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就 阅读全文
posted @ 2019-12-26 01:49 Hello_Nolan 阅读(164) 评论(0) 推荐(0)
摘要:题目: 读入 n(>)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ... 第 n+1 阅读全文
posted @ 2019-12-24 23:05 Hello_Nolan 阅读(151) 评论(0) 推荐(0)
摘要:题目: 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 ( 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题, 阅读全文
posted @ 2019-12-23 20:32 Hello_Nolan 阅读(136) 评论(0) 推荐(0)
摘要:题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 阅读全文
posted @ 2019-12-23 17:39 Hello_Nolan 阅读(217) 评论(0) 推荐(0)