课程主页在:http://blog.csdn.net/sxhelijian/article/details/13705597
编程练习1:输出1000以内的所有素数。
参考解答:
#include<stdio.h>
#include<math.h>
int main()
{
int m,i,k,prime;
for(m=2;m<=200;m++)
{
prime=1;
k=sqrt(m);
for(i=2; i<=k; i++) //最多循环至……
if(m%i==0)
{
prime=0;
break;
}
if(prime==1)
printf("%d ",m);
}
return 0;
}
编程练习2:求满足条件n=a!+b!+c!的所有三位数n并输出,其中a,b,c分别为n的百、十、个位数。
参考解答:
#include<stdio.h>
int main()
{
int n,a,b,c,sum;
int i,f;
n=100;
while(n<1000)
{
sum=0;
c=n%10; //个位数,
b=(n/10)%10; //十位数
a=n/100; //百位数
for(f=1,i=1; i<=a; ++i) f=f*i; //求 a!
sum += f;
for(f=1,i=1; i<=b; ++i) f=f*i; //求 b!
sum += f;
for(f=1,i=1; i<=c; ++i) f=f*i; //求 c!
sum += f; //此时sum的值为a!+b!+c!
if(sum==n) //若条件成立,则 n 就是要找的数。
printf("%d ",n);
++n; //考察下一个n
}
return 0;
}
解2:
#include<stdio.h>
int main()
{
int n,a,b,c,sum;
int i,f;
for(n=100;n<1000;n++)
{
sum=0;
c=n%10; //个位数,
b=(n/10)%10; //十位数
a=n/100; //百位数
for(f=1,i=1; i<=a; ++i) f=f*i; //求 a!
sum += f;
for(f=1,i=1; i<=b; ++i) f=f*i; //求 b!
sum += f;
for(f=1,i=1; i<=c; ++i) f=f*i; //求 c!
sum += f; //此时sum的值为a!+b!+c!
if(sum==n) //若条件成立,则 n 就是要找的数。
printf("%d ",n);
}
return 0;
}
编程练习3:输入一个正整数,判断其是否为一个回文数(例1221、12321都是回文数)。提示:输入一个正整数n(例1234)后,构造出其反序数m(对应4321),若这两个数相等,则n是回文数(1234就不是回文数)。算法流程图如右图所示。
参考解答:
#include<stdio.h>
int main()
{
int m,n,k;
scanf("%d",&n);
k=n;
m=0;
while(k>0)
{
m=m*10+k%10;
k=k/10;
}
if(m==n)
printf("%d是回文数\n",n);
else
printf("%d不是回文数\n",n);
return 0;
}
编程练习4:输出1000以内的所有回文数。
参考解答:
#include<stdio.h>
int main()
{
int m,n,k;
for(n=0; n<1000; n++)
{
k=n;
m=0;
while(k>0)
{
m=m*10+k%10;
k=k/10;
}
if(m==n)
printf("%d ",n);
}
return 0;
}
编程练习5:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3,1、2、3是6的因子,所以6是完数。编程序,输入n,判断n是否是完数。
参考解答:
#include<stdio.h>
int main( )
{
int i,n,s;
scanf("%d",&n);
s=1; //s表示因子和。1是任何数的因子,所以s=1,也使下一句可以从2开始尝试
for(i=2; i<n; i++) //从2开始到n-1,逐个去试
{
if(n%i==0)
s+=i; //如果i是n的因子,则累加
}
if(n==s)
printf("%d是完数\n",n);
else
printf("%d不是完数\n",n);
return 0;
}
编程练习6:找出1000内的所有完数。
参考解答:
#include<stdio.h>
int main( )
{
int i,n,s;
for(n=2; n<1000; n++)
{
s=1; //s表示因子和。1是任何数的因子,所以s=1,也使下一句可以从2开始尝试
for(i=2; i<n; i++) //从2开始到n-1,逐个去试
{
if(n%i==0)
s+=i; //如果i是n的因子,则累加
}
if(n==s)
printf("%d ",n);
}
return 0;
}
分享到:
相关推荐
【标题】"蓝桥杯单片机组十五届省赛参考答案"揭示了这是一份针对蓝桥杯单片机竞赛第十五届省级比赛的解答集。蓝桥杯是中国知名的计算机软件与电子设计竞赛,旨在提升学生的实践能力和创新能力,特别是在单片机应用...
北航计算机学院历年上机考试题目是学生们备考的重要参考资料,这些题目涵盖了计算机科学与技术的基础知识,旨在测试学生的编程能力和问题解决能力。本压缩包包含了2006年至2017年的机试题目,为备考的学生提供了丰富...
《杭电OJ第十一页题目题解:基础算法与ACM入门》 在计算机科学的世界里,算法是解决问题的关键,而ACM(国际大学生程序设计竞赛)则为学生们提供了磨炼算法技能的绝佳平台。杭州电子科技大学(简称“杭电”)的在线...
- **题目:** 计算机科学的奠基人是谁? - **解答:** 正确答案是B.图灵。图灵在计算机科学的发展历程中扮演了极其重要的角色,被认为是计算机科学之父。 ### 三、方法重载 **知识点:** - **概念理解:** 方法重载...
第十五章是关于动态规划算法的内容,这是一种非常强大的算法设计策略,主要用于解决具有重叠子问题和最优子结构特性的问题。习题部分可能会要求学生使用动态规划来解决实际问题,例如15.2-1至15.2-5可能涉及到构造...
《微机原理作业及参考答案(修订20080516)》这份文档集合是针对计算机科学中基础课程“微机原理”的学习资源,它涵盖了该领域的重要概念、理论以及实践应用。微机原理是理解计算机硬件与软件交互的基础,对于计算机...
这份"全"答案集合了从第一章到第十三章的所有习题解答,对学习者来说是一份宝贵的参考资料。 首先,我们来看看书中的主要知识点: 1. **布尔代数**:这是逻辑设计的基础,包括布尔运算(与、或、非、异或)、布尔...
- **第15章:动态规划** - **知识点**:介绍动态规划的基本思想和算法设计技巧。 - **思考题示例**:动态规划算法的关键要素是什么? - **课后解答题示例**:给出一个动态规划算法的具体实例,并分析其状态转移...
- Chuck Sanders:为第二章大部分习题提供了解答,并在第十四章中贡献了多个解答。 - Luo Hong:加州大学圣塔芭芭拉分校的研究生,也为解答手册做出了贡献。 - **致谢**:感谢所有参与解答编写工作的教师、助教和...
计算机应用基础+C语言测试题涉及了计算机基础知识和C语言编程的相关知识。这些题目涵盖了计算机系统的基本原理、数据表示、程序设计语言的发展历程、...通过解答这些题目,可以帮助学生巩固理论知识,提升实践技能。
《算法与数据结构》是计算机科学中的核心课程,主要研究如何高效地存储、组织和处理数据。本参考资料涉及的是2014年秋季石家庄铁道大学2013级本科的期末考试答案,包含了选择题和简答题两部分,旨在评估学生对基本...
《计算机组成原理》是计算机科学与技术专业的一门核心课程,唐朔飞教授编著的第二版教材在高等教育出版社出版,深受广大师生喜爱。该书深入浅出地讲解了计算机硬件系统的构造,包括数据表示、运算器、控制器、存储器...
"第十五届蓝桥杯单片机国赛.zip"是一个包含有关蓝桥杯单片机竞赛的资源包,这是一项旨在提升学生在嵌入式系统设计与开发能力的全国性比赛。蓝桥杯赛事通常涉及电子工程、计算机科学以及信息技术等相关专业领域,对于...
对于大一新生来说,掌握C语言的基础知识是至关重要的,因为它是理解计算机科学原理和后续学习其他编程语言的基础。 在C语言的学习过程中,实践操作和习题解答是非常关键的环节。通过做题,学生可以深入理解语法结构...
算法是计算机科学的基础,它描述了一组解决问题的精确步骤。这份文档包含了一系列关于算法的练习题,旨在帮助学习者理解和掌握算法的基本概念和应用。 1. 选择题: - 第1题:题目考察的是程序框图的执行逻辑。根据...
根据提供的信息,《算法导论》是一本非常经典的计算机科学教材,专注于算法的设计与分析。这份文档提供了该书第三版的部分中文版课后习题答案,覆盖了第二章至第九章以及第十五章的内容。下面将根据给定的内容,对...
- 本书由张铭编写,详细介绍了数据结构与算法的基础知识及应用技巧,适用于计算机科学及相关专业的本科生和研究生。 2. **每位作者负责的章节**: - 本书由张铭一人撰写,因此所有章节均出自其手笔。书中涵盖的...
《数字电子技术基础》是一本广泛应用于高等教育工科专业,特别是电子工程、自动化、计算机科学等领域的教科书。该书通常涵盖了数字系统的基本概念、逻辑门电路、组合逻辑电路、时序逻辑电路、存储器与可编程逻辑器件...
《数字逻辑》是计算机科学与技术领域的一门基础课程,主要涵盖了数字系统的基本概念、逻辑门电路、组合逻辑电路、时序逻辑电路、存储器、可编程逻辑器件以及数模和模数转换等内容。这份课后参考答案为学习者提供了...