计算机二级法律一班题目,湖南省计算机二级考试  程序设计题目精选30道

本文集解答了多个数学算法题目,包括求特定范围内满足条件的数的数量、找出特定性质的数及其组合、解决数学序列问题等。涉及素数、水仙花数、勾股数等概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[1,100]之间第10个能被其因子数目整除的正整数。56

void main()

{int

i,n,j,k=0;

clrscr();

for

(i=1;i<=100;i++)

{n=0;

for

(j=1;j<=i;j++)

if

(i%j==0) n++;

if

(i%n==0){ k++;printf("]",i);}

if

(k==10) { printf("\n]",i);break;

}

}

}

2倒勾股数是满足公式:1/A^2+1/B^2=1/C^2的一组正整数(A,B,C),例如,(156,65,60)是倒勾股数,因为:1/156^2+1/65^2=1/60^2。假定A>B>C,求A,B,C均小于或等于100的倒勾股数有多少组?5

#include

void main()

{ int i,n=0,j,k;

for

(i=1;i<=100;i++)

for

(j=i;j<=100;j++)

for

(k=j;k<=100;k++)

if(fabs(1.0/(k*k)+1.0/(j*j)-1.0/(i*i))<1e-10)

{

n++;printf("%d,%d,%d\n",i,j,k); }

printf("%d\n",n);

}

3已知A且A,B为正整数,求满足个条件A×B=716699且A+B最小的A值。563

#include "math.h"

void main()

{ long int a,b,i,j;

i=716699;j=716699;

for(a=3;a

for(b=a;b<2*sqrt(716699);b+=2)

if(a*b==716699)

{

if((a+b)

{i=a; j=b;}

}

printf("a=%ld,b=",i,j);

}

4求[666,777]范围内素数的个数。16

#include

#include

void main()

{inti,n=0,j;

for

(i=666;i<=777;i++)

{for

(j=2;j<=sqrt(i);j++)

if

(i%j==0) break;

if

(j>sqrt(i)) {n++; printf("]",i);}

}

printf("\n]",n);

}

5求方程X^3-2X-5=0在区间[1.5,2.5]上的一个实根。要求:按四舍五入的方式精确到小数点后第二位。2.09

#include

void main()

{floatx,x0=2.0,f,f0;

do {

x=x0;

f=x*x*x-2*x-5;

f0=3*x*x-2;

x0=x-f/f0;

}

while(fabs(x-x0)>=1e-6);

printf("%.2f",x);

}

6.求[351,432]之间所有既不能被3整除,又不能被8整除的正整数的个数。47

void main()

{inti,n=0;

for

(i=351;i<=432;i++)

if

(i%3!=0 && i%8!=0) { n++;printf("]",i);

}

printf("\n%d",n);

}

7求[444,666]范围内最大的素数是多少?661

#include

void main()

{inti,j,k;

for

(i=444;i<=666;i++)

{k=sqrt(i);

for(j=2;j

if(i%j==0)

break;

if

(j>=k) printf("]",i);

}

}

8已知Fibonacci数列:1,1,2,3,5,8,……,它可由下面公式表述:F(1)=1,

if n=1; F(2)=1, if n=2 ;

F(n)=F(n-1)+F(n-2) ,if

n>2;试求F(1)+F(2)+……+F(50)值。提示:最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。32951280098

main()

{int

i;

double

f[50]={1,1},s=0;

for(i=2;i<50;i++)

f[i]=f[i-2]+f[i-1];

for(i=0;i<50;i++)

{if(i%2==0)printf("\n");

s=s+f[i];

printf(".0f",f[i]);

}printf("\n.0f",s);

}

9有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13....(注:该数列从第二项开始,其分子是前一项的分子与分母的和,而其分母是前一项的分子),求出这个序列前24项的和。要求:按四舍五入的方式精确到小数点后第二位。39.13

main()

{float

s1=2,s2=1,s,t=0,i;

t=t+s1/s2;

for

(i=1;i<=23;i++)

{s=s1;

s1=s1+s2;

s2=s;

t=t+s1/s2;

}

printf("%.2f",t);

}

10已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。问[100,300]之间有多少个能被其因子数目整除的数。19见题1

void main()

{inti,n,j,k=0;

clrscr();

for

(i=100;i<=300;i++)

{n=0;

for

(j=1;j<=i;j++)

if

(i%j==0) n++;

if

(i%n==0) {k++;printf("]",i);

}

}printf("\n]",k);

}

11自然数对是指两个自然数的和与差都是平方数,如8和17的和8+17=25与其差17-8=9都是平方数,则称8和17是自然数对(8,17)。假定(A,B)与(B,A)是同一个自然数对且假定A>=B,求所有小于或等于100(即:A<=100,B<=100)的自然数对中B之和。1160

#include "math.h"

void main()

{inta,b,n=0;float

s1,s2;

for(b=1;b<=100;b++)

for

(a=b+1;a<=100;a++)

{

s1=sqrt(a+b);s2=sqrt(a-b);

if

( s1==(int)s1 && s2==(int)s2 )

{

n=n+b;printf("%d,%d\t\t",a,b);} }

printf("\n%d",n);

}

12求[1,5000]之间能同时被3和7整除的数的个数。238

void main()

{ int i,j=0;

for(i=1;i<=5000;i++)

if

(i%3==0 && i%7==0)

{

j++;printf("]",i);}

printf("\n%d",j);

}

13水仙花数是一个三位正整数,它等于它的各位数字的立方之和.例如:153=1^3+5^3+3^3,所以153是水仙花数.试求有多少个水仙花数?4

void main()

{ int i,a,b,c,n=0;

for(i=100;i<=999;i++)

{

a=i/100;

b=(i/10);

c=i;

if

(i==a*a*a+b*b*b+c*c*c)

{

n++;printf("]",i);}

}

printf("\n%d",n);

}

14设某国今年的国民生产总值为45600亿元,若今后每年以8%的增长率增长,计算多少年后能实现国民生产总值翻两番?19

void main( )

{ long int i=45600;

int

j=0;

while

(i<=4*45600)

{

i=i+i*0.08;j++;}

printf("%d",j);

}

15勾股弦数是满足公式:A^2+B^2=C^2

(假定A的一组正整数(A,B,C),例如,(3,4,5)是勾股弦数,因为:3^2+4^2=5^2。求A,B均小于25且A+B+C<=100的勾股弦数的个数。11

#include

void main()

{inti,n=0,j,k;

for

(i=1;i<=25;i++)

for

(j=i;j<=25;j++)

for

(k=j;k<=100;k++)

if

(i*i+j*j==k*k && i+j+k<100)

{

n++;printf("%d,%d,%d\n",i,j,k); }

printf("%d\n",n);

}

16设有6个十进制数字a,b,c,d,f,e,求满足abcdf×e=fdcba条件的五位数abcdf(a≠0,e≠0,e≠1)的个数。2

void main()

{ long int

a,b,c,d,e,f,n=0;

for

(e=2;e<=9;e++)

for(a=1;a<=9;a++)

for(b=0;b<=9;b++)

for(c=0;c<=9;c++)

for(d=0;d<=9;d++)

for(f=0;f<=9;f++)

if

((a*10000+b*1000+c*100+d*10+f)*e==f*10000+d*1000+c*100+b*10+a)

{printf("%ld,%ld,%ld,%ld,%ld,%ld\n",a,b,c,d,f,e);

n++; }

printf("\n%ld",n);

}

17勾股弦数是满足公式:A^2+B^2=C^2

(假定A的一组正整数(A,B,C),例如,(3,4,5)是勾股弦数,因为:3^2+4^2=5^2。求A,B,C均小于或等于100的勾股弦数中A+B+C的最大值。240

#include

void main()

{ int

i,j,k,i1=0,j1=0,k1=0;

for

(i=1;i<=100;i++)

for

(j=i;j<=100;j++)

for

(k=j;k<=100;k++)

if

(i*i+j*j==k*k )

{

printf("%d,%d,%d,%d\n",i,j,k,i+j+k);

if

(i+j+k>i1+j1+k1)

{i1=i;j1=j;k1=k;}

}

printf("\n%d\n",i1+j1+k1);

}

18设某四位数的各位数字的平方和等于100,问共有多少个这种四位数?49

#include

void main()

{ int i,n=0,a,b,c,d;

for

(i=1000;i<=9999;i++)

{a=i/1000;

b=(i00)/100;

c=((i00)/10);

d=i;

if

(a*a+b*b+c*c+d*d==100 )

{

n++;printf("%d,%d,%d,%d\t\t",a,b,c,d);

}

}

printf("\n%d",n);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值