2.4.1 输出技巧
#include <stdio.h>
int
main()
{
int i, n;
scanf("%d", &n);
for (i = 1; i <= n; i++)
printf("%d\n", i);
return 0;
}
习题2-2 水仙花数(daffodil)
输出100~999中的所有水仙花数。若3位数ABC满足ABC=A^3+B^3+C^3,则称其为水仙花数。
#include <stdio.h>
int
main()
{
int i;
int a, b, c;
for (i = 100; i != 1000; i++) {
a = i/100;
b = i/10%10;
c = i%10;
if (a*a*a + b*b*b + c*c*c == i)
printf("%d\n", i);
}
return 0;
}
习题2-3 韩信点兵(hanxin)
相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负数a, b, c,表示每种队形排尾的人数(a<3, b<5, c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100。
样例输入:2 1 6
样例输出:41
样例输出:2 1 3
样例输出:No answer
#include <stdio.h>
int
main()
{
int a, b, c;
int i;
scanf("%d%d%d", &a, &b, &c);
for (i = 10; i != 100; i++) {
if (i%3 == a && i%5 == b && i%7 == c) {
printf("%d\n", i);
break;
}
}
if (i == 100)
printf("No answer\n");
return 0;
}
习题2-8 子序列的和(subsequence)
输入两个正整数n<m<10^6,输出 1/n^2 + 1/(n+1)^2 + ... + 1/m^2,保留5位小数。例如n=2, m=4时答案是0.42361; n = 65536, m = 655360时答案是0.00001。注意:本题有陷阱。
#include <stdio.h>
int
main(void)
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
printf("%.*f\n", c, (double)a/b);
return 0;
}
习题2-10 排列(permutation)
用1,2,3,...,9组成3个三位数abc, def和ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3。输出所有解。提示:不必太动脑筋。
#include <stdio.h>
int
main(void)
{
int i, j, k;
int i1, i2, i3;
int j1, j2, j3;
int k1, k2, k3;
int c, count;
for (i = 123; i <= 329; i++) {
j = i*2;
k = i*3;
i1 = i/100, i2 = i/10%10; i3 = i%10;
j1 = j/100, j2 = j/10%10; j3 = j%10;
k1 = k/100, k2 = k/10%10; k3 = k%10;
for (c = 1; c != 10; c++) {
count = 0;
if (c == i1)
count++;
if (c == i2)
count++;
if (c == i3)
count++;
if (c == j1)
count++;
if (c == j2)
count++;
if (c == j3)
count++;
if (c == k1)
count++;
if (c == k2)
count++;
if (c == k3)
count++;
if (count > 1)
break;
}
if (c == 10 && i2 != 0 && i3 != 0 && j2 != 0 && j3 != 0 && k2 != 0 && k3 != 0)
printf("%d %d %d\n", i, j, k);
}
return 0;
}
思路:暴力枚举
分享到:
相关推荐
《算法竞赛入门经典(第二版)》是一本深入浅出的算法学习书籍,由刘汝佳编著,深受编程竞赛爱好者和计算机科学学生的欢迎。这本书以其详尽的讲解和丰富的习题,帮助读者掌握基础及进阶算法,提升解决实际问题的能力...
这不是原书pdf,找算法竞赛入门经典(第二版)pdf的同学请不要下了。 这个是书里采用的习题和例题的UVa原题pdf(英文)。 分享这个文件的原因是国内上UVa太慢了,有时候UVa还会挂。 而且书里把输入输出样例省去了,...
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关...
算法竞赛入门经典各章习题答案
《算法竞赛入门经典(第二版)》是一本深入浅出介绍算法竞赛的书籍,适合对算法有浓厚兴趣的初学者和参加ACM/ICPC等编程竞赛的学生。这本书旨在通过丰富的习题帮助读者掌握基础算法和数据结构,提升解决实际问题的...
《算法竞赛入门经典授课教案》是一份专门为初学者设计的教育资源,旨在帮助学习者系统地理解和掌握算法竞赛的基础知识,并逐步提升在实际竞赛中的表现。这份教案深入浅出,覆盖了算法竞赛的关键概念,结合C语言进行...
《算法竞赛入门到进阶 课件+源码》这套资源是为想要在算法竞赛中提升自己能力的初学者和进阶者准备的宝贵资料。它涵盖了从基础到高级的各种算法,通过课件和源码的结合,使学习者能够理论与实践相结合,更好地理解和...
《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 章,包括程序设计入门、循环结构程序设计、数组和...
《挑战程序设计竞赛》作为第二版,不仅包含了第一版的经典内容,还更新了近年来的新颖问题和解题策略。这本书以实际的编程竞赛题目为引导,让读者通过解决问题来学习和应用算法。书中涉及的算法范围广泛,如数据结构...
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关...
资源包分为三部分,分别对应《算法竞赛宝典》的第一部、第二部和第三部,每一部分都包含了丰富的学习材料。 首先,我们来看《算法竞赛宝典第一部资源包》。这部分主要针对初学者,深入浅出地介绍了算法竞赛的基础...
压缩包文件"aoapc-bac2nd-master"的名称暗示了这可能是一个开源项目或者课程的代码库,"aoapc"可能代表《算法导论》或者《算法竞赛入门经典》的缩写,"bac2nd"可能指的是第二版或者某种特定的版本号。"master"通常是...
《挑战程序设计竞赛(第二版)》这本书由日本作家编写,是一部面向程序设计竞赛的入门教材。书中涵盖了算法竞赛所需的基础知识和技巧,是竞赛选手和计算机编程爱好者的优选读物。书籍的主要内容集中于算法学习,这是...
2. **高中数学竞赛专题讲座**:浙大小红本,包含了丰富的专题讲座和练习题,非常适合准备联赛实战的学生。 3. **《走向IMO》**:这本书收集了国内外最高层次的数学竞赛题目,难度极大。重点在于理解和掌握题目背后...
“lrj紫书”通常是指刘汝佳编著的《算法竞赛入门经典》第二版,这是一本非常适合初学者的算法学习书籍。它以实例和习题为主,涵盖了基础算法和数据结构,如排序、搜索、图算法等,对于准备编程竞赛或提升编程技能的...
算法竞赛入门经典(第2版)** - 作者:刘汝佳 - 出版时间:2014-06 - **简介**:作为经典中的经典,本书详细讲解了算法设计的基本原理和方法,覆盖了从简单到复杂的多种算法类型,并提供了大量的练习题供读者实践...
第三版在内容和深度上都有进一步的提升,被视为深入理解算法、准备面试、参加算法竞赛或进行研究工作的重要参考书。 《算法导论》第三版的结构主要分为两大块内容:基础和高级主题。第一部分(Foundations)重点...
这些题目所涉及的标签"算法引论"表明,它们是入门级别的算法题目,适合初学者进行练习。通过解决这些问题,学习者可以逐步建立起对基本算法的理解,包括排序、搜索、动态规划、贪心策略等经典算法思想。而压缩包中的...
- **书籍资源**: 包括《算法竞赛入门经典(第2版)》、《算法竞赛入门经典:训练指南》等,这些都是学习ACM竞赛不可或缺的参考资料。 - **在线资源**: 如DangDang、京东等平台提供的电子书链接,方便读者获取学习资料...
《算法第四版》作为一本经典的算法教材,被广泛认为是学习算法的最佳入门选择之一。本书由Robert Sedgewick和Kevin Wayne共同编著,两位作者均来自普林斯顿大学,在计算机科学领域享有盛誉。该书覆盖了广泛的算法...