求1到100之间的所有素数。
- 格式:doc
- 大小:50.50 KB
- 文档页数:6
计算机二级C语言上机(南开大学)100题程序填空题1 补充fun函数,fun函数的功能是求10的阶乘。
n>1 n-1 n==12 在函数fun的横线上填写若干表达式,使从键盘上输入一个整数n,输出数列是一种整数数列,其中每数等于前面两数之和n==o n==1 fun(n-1)+fun(n-2)3 补充函数fun(char*s),该函数的功能是把字符串中的内容逆置s+i<s+n-1-i*(s+i)=(s+n-1-i) *(s+n-1-i)=t4 补充函数fun,他的功能是计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和i<=ni%3==0||i%7==0 1.0/i5 功能是求1/2的圆面积,函数通过形参得到圆的半径,函数返回1/2的圆面积r r*r &x6 功能是计算并输出下列级数的前N项合Sn,直到Sn大于q为止,q 的值通过形参传入<= n++return s7 函数fun的功能是统计长整数n的各个位上出现数字1.2.3的次数,并通过外部(全局)变量c1.c2.c3返回主函数n%10 break break8 补充main函数,功能是从键盘输入一组整数,使用条件表达式找出最大的整数,当输入的整数为0时结束&num[i]max<num[i]? num[i]!=09 给定程序的功能是分别统计字符串中大写字母和小写字母的个数(*a)++ (*b)++ upper,lower10 补充main函数,功能是从键盘输入3个整数,然后找出最大的数并输出。
max=a max=b max=c11 函数fun的功能是把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动1 s[k] c12 补充fun函数,功能是字符串tt中的大写字母都改为对应的小写字母,其他的字符不变。
tt[i]<='Z'tt[i]+=32 tt13 补充fun函数,功能是判断一个数是否为素数。
1、输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。
然后输出最后得到的字符。
#include<stdio.h>int main(){char c1;printf("input a latter:\n");scanf("%c",&c1);if(c1>='A'&&c1<='Z')c1=c1+32;printf("%c",c1);return 0;}2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
#include<stdio.h>int main(){char c;int letters=0,space=0,digit=0,other=0;printf("Please input letters:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;else if(c>='0'&&c<='9')digit++;else if(c==' ')space++;elseother++;}printf("字母数:%d\n数字数:%d\n空格数:%d\n其他字母数:%d\n",letters,digit,space,other);return 0;}3、编写一个函数,求数列1+1/2+1/3+1/4+1/5+...1/n,利用主函数调用这个函数并输出结果。
#include<stdio.h>int main(){int n;float c;float sum(int n);scanf("%d",&n);c=sum(n);printf("%f\n",c);float sum(int n){int i;float sum=0.0;for(i=1;i<=n;i++)sum=sum+1.0/i;return sum;}4、输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。
使⽤while循环和for循环输出2~100之间的素数(只能被1和⾃⼰整除的⾃然数)不管是while循环还是for循环,原理都是取根号,循环到取根号后的数,⾄于为什么需要循环到开根后的数,我想主要是因为⼀个数的分解因⼦在开根号后的数向上取整以下吧。
话不多说,上代码:while循环:while循环原理如下:i = 2while i <= 100:# 内层循环 j 从2循环到根号 ij = 2while j <= (i / j): # j <= (i/j) 等效于 j*j <= i 也就等于 j <= 根号 iif i % j == 0:break # 判断如果i可以被j整除,则提前跳出j的循环j = j + 1# 如果j > i/j判断为真表⽰正常循环结束,i没有被j整除,i是素数。
否则就是提前跳出j循环的,i有被j整除,i不是素数。
if j > i / j:print(i, end=" ")i = i + 1输出结果:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97也可以⽤for循环:这⾥的round()函数是向上取整。
import mathfor i in range(2, 101):flag = 0for j in range(2, round(math.sqrt(i) + 1)):if i % j == 0:flag = 1breakif flag:continueprint(i)结果是⼀样的!。
求1到100之间的所有素数Word版
一到一百的素数有2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97;共25个。
素数又称质数,有无限个。
一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。
一、质数性质
1、质数p的约数只有两个:1和p。
2、初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。
3、质数的个数是无限的。
4、质数的个数公式π(n)是不减函数。
5、若n为正整数,在n²到(n+1)²之间至少有一个质数。
二、合数性质
1、所有大于2的偶数都是合数。
2、所有大于5的奇数中,个位为5的都是合数。
3、除0以外,所有个位为0的自然数都是合数。
4、所有个位为4,6,8的自然数都是合数。
5、最小的(偶)合数为4,最小的奇合数为9。
6、每一个合数都可以以唯一形式被写成质数的乘积,即分解质因数。
1~100以内的质数表
摘要:
一、引言
二、质数的定义与性质
三、1~100以内的质数表
正文:
一、引言
在数学领域中,质数一直是一个引人入胜的话题。
质数,又称素数,是大于1的自然数中,除了1和它本身以外不再有其他因数的数。
自古以来,数学家们一直在探索质数之间的关系和性质。
本文将列举1~100以内的质数表,并简要介绍质数的性质。
二、质数的定义与性质
质数是只能被1和它本身整除的自然数,是整数中的基本构建块。
质数具有以下几个重要性质:
1.除了1和它本身外,质数没有其他因数。
2.质数是无限的,即对于任意一个大于1的自然数,总可以找到一个更大的质数。
3.质数之间存在间隔,即两个连续的质数之间的间隔是无限的。
4.欧拉定理:若a和n是互质的正整数,则a的欧拉函数φ(n)与n互质的数a^k mod n的结果是循环的,循环节长度为n-1。
三、1~100以内的质数表
根据上述性质,我们可以找出1~100以内的质数。
以下是1~100以内的质数表:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
通过观察这个质数表,我们可以发现质数在数轴上分布并不均匀,有些区间内没有质数,而有些区间内则有多个质数。
这一现象一直是数学家们研究的课题。
总之,本文列举了1~100以内的质数表,并简要介绍了质数的定义和性质。