编程C语言源程序代码Word格式文档下载.docx

上传人:b****7 文档编号:22111934 上传时间:2023-02-02 格式:DOCX 页数:32 大小:28.30KB
下载 相关 举报
编程C语言源程序代码Word格式文档下载.docx_第1页
第1页 / 共32页
编程C语言源程序代码Word格式文档下载.docx_第2页
第2页 / 共32页
编程C语言源程序代码Word格式文档下载.docx_第3页
第3页 / 共32页
编程C语言源程序代码Word格式文档下载.docx_第4页
第4页 / 共32页
编程C语言源程序代码Word格式文档下载.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

编程C语言源程序代码Word格式文档下载.docx

《编程C语言源程序代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《编程C语言源程序代码Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。

编程C语言源程序代码Word格式文档下载.docx

for(i=2;

i<

=1000;

i++)

{t=1;

for(j=2;

j<

i;

j++)

if(i%j==0)t=t+j;

if(t==i){printf("

%4d"

i);

s=s+i;

\n%d"

530

下面的程序是求[200,800]之间最大的20个素数之和。

程序:

#include<

{intk=800,sum=0,n=0,j,yes;

while((k>

=200)&

&

(n<

20))

{yes=1;

for(j=2;

j<

=sqrt(k);

j++)

if(k%j==0){yes=0;

break;

if(yes)

{printf(“%5d”,k);

sum+=k;

n++;

if(n%5==0)printf(“\n”);

k--;

%d\n"

sum);

14510

“同构数”:

所谓“同构数”是指这样一个数,它出现在它的平方数的右侧,例如5的平方是25,25的平方是625,故5和25都是同构数,求[2,1000]之间所有同构数之和。

(提示:

若x是m位同构数,则x的平方除以10的m次方的余数就是x)

conio.h>

{longs;

longk,n,sum=0,count=0;

clrscr();

for(n=2;

{if(n<

10)k=10;

elseif(n<

100)k=100;

elsek=1000;

s=n*n;

if(s%k==n){count++;

sum+=n;

printf("

n);

\n%5ld,%5ld"

count,sum);

1113

倒勾股数:

A,B,C是三个小于或等于300的正整数,当满足1/A^2+1/B^2=1/C^2关系,并且A>

B>

C时,称为倒勾股数。

求这样的倒勾股数有多少组。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

{doublea,b,c;

intcount=0;

clrscr();

for(c=1;

c<

=300;

c++)

for(b=c+1;

b<

b++)

for(a=b+1;

a<

a++)

if(1.0/(a*a)+1.0/(b*b)==1.0/(c*c))

count=count+1;

%d"

count);

11

A,B,C是三个小于或等于100正整数,当满足1/A^2+1/B^2=1/C^2关系时,称为倒勾股数。

求130<

A+B+C<

150且A>

C的倒勾股数有多少组。

1

(101)求方程9x+4y=2000的所有正整数解的|x-y|的最大值

{intx,y,z,max=0;

for(x=1;

230;

x++)

{y=(int)((2000-9*x)/4);

z=abs(x-y);

if(9*x+4*y==2000&

y>

0&

max<

z)max=z;

printf(“%d”,max);

487

请修改程序中的错误,

使它能得出正确的结果,并给出正确结果。

intfun(inthigh)

{intsum=0,n=0,j,yes;

while((high>

=sqrt(high);

if(high%j==0){yes=0;

{sum+=high;

high--;

returnsum;

main()

{clrscr();

fun(800));

求出9269和8671的最小公倍数。

[算法提示:

a与b的最小公倍数是a的倍数中第1个被b整除的数]

settalkoff

clear

a=9269

b=8671

k=a

dowhilemod(k,a)=0

k=k*a

endfor

?

k

settalkon

return

(102)梅森尼数是指能使2^n-1为素数的数n,求[2,21]范围内最大的梅素尼数?

{inti,j,flag;

longk;

for(i=21;

i>

=2;

i--)

{flag=1;

k=pow(2,i)-1;

for(j=2;

if(k%j==0){flag=0;

break;

if(flag==1){printf("

19

猴吃桃:

有一天小猴子摘下了若干个桃子,当即吃掉一半,还觉得不过瘾,又多吃了一个。

第二天接着吃了剩下的桃子中的一半,仍不过瘾,又多吃了一个。

以后每天都是吃尚存桃子的一半零一个。

到第10天早上小猴子再去吃桃子时,看到只剩下一个桃子了。

问小猴子第一天共摘下了多少个桃子。

{inti,s=1;

for(i=9;

=1;

s=2*(s+1);

若一个四位正整数是另一个正整数的平方,且各位数字的和是一个

平方数,则称该四位正整数是“四位双平方数”。

例如:

由于7396=86^2,且7+3+9+6=25=5^2,则称7396是

“四位双平方数”。

若把所有“四位双平方数”按升序排列,

求前10个“四位双平方数”的和。

{intn=0,i,a,b,c,d,f;

longs=0;

for(i=1000;

=9999;

{a=(int)(i/1000);

b=(int)((i-a*1000)/100);

c=(int)((i-a*1000-b*100)/10);

d=i%10;

f=a+b+c+d;

if((int)(sqrt(i))==sqrt(i)&

(int)sqrt(f)==sqrt(f))

{n=n+1;

s=s+i;

%5d"

if(n==10)break;

\n%ld"

已知数列:

1,2,4,7,11,16,…,其规律是相邻两项之差依次是1,2,3,4,5,…。

求100以内最小的自然数n使得此数列的前n项之和大于800。

{ints=0,n=0,t=1;

while

(1)

{

t=t+n;

s=s+t;

if(s>

800){break;

elsen++;

1534

某些分数的分子和分母都是二位正整数的真分数具有下列特点:

如果将该分数的分子的两位数字相加作分子,而将该分数的分母的两位数字相加作分母,得到的新分子跟原分子相等。

例如,63/84=(6+3)/(8+4)。

试求所有具有这种特点的真分子(非约简真分数)的分子与分母之和的和。

29690

数列:

E

(1)=E

(2)=1

E(n)=(n-1)*E(n-1)+(n-2)*E(n-2)(n>

2)

称为E数列,每一个E(n),(n=1,2,…)称为E数。

求[1,30000]之内E数的个数。

{intcount=2,n=3;

longE1=1,E2=1,E3;

{E3=(n-1)*E2+(n-2)*E1;

If(E3>

30000)break;

Else{count++;

printf(“%5d”,E3);

E1=E2;

E2=E3;

printf(“%d”,count);

10134

求[200,300]之间第二大有奇数个不同因子的整数(在计算因子个数时,包括该数本身)。

已知A<

B,A和B均为正整数,且A*B=2698,求A+B的最小值。

{inta,b,min=3000;

for(a=1;

=(int)sqrt(2698);

for(b=(int)sqrt(2698);

=2698;

if(a*b==2698&

a+b<

min)min=a+b;

min);

8

已知X,Y,Z为三个正整数,且X^2+Y^2+Z^2=25^2,求X+Y+Z的最大值。

256

一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。

如13,试求所有两位绝对素数的和。

109

若某整数平方等于某两个正整数平方之和的正整数称为弦数。

由于3^2+4^2=5^2,则5为弦数,求[100,199]之间最大的弦数。

429

下面的程序是求表达式的值:

s=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+......+(1*2*3*......*n)/(3*5*7*......(2*n+1))

请将程序补充完整,并给出当n=28时,程序的运行结果(按四舍五入保留10位小数)

aaa.c

100、(A,B)满足条件A是素数,B是素数,A+B的和也是一个素数,又777>

A>

=2。

求这样的(A,B)中所有A+B的和是多少。

intsu(intx)

{intj,k;

k=sqrt(x);

=k;

if(x%j==0){return(0);

if(j>

k)return

(1);

{intsum=0,a,b;

for(a=3;

=777;

{for(b=a+1;

if(su(a)&

su(b)&

su(a+b))

{sum=sum+a+b;

%d%d"

a,b);

\n%d"

197

99、下面的程序中,函数fun的功能是:

根据形参m,计算下面公式的值。

T=1/1!

+1/2!

+1/3!

...+1/m!

请改正程序中的错误,并运行改正后的程序。

当从键盘输入10时,给出程序运行的正确结果(按四舍五入保留10位小数)。

doublefun(intm)

{doublefac,t=0.0;

inti=1,j;

for(i=1;

=m;

{fac=1.0;

for(j=1;

j++)fac=fac*i;

t+=1.0/fac;

returnt;

{intm;

\n请输入整数:

"

);

scanf("

&

m);

%12.10lf\n"

fun(m));

doublefun(intn)

{doubles,t;

inti;

s=1.0;

t=1.0;

for(i=1;

=n;

i++)

{t=t*i/(2*i+1);

s=s+t;

returns;

{printf("

\n%12.10lf"

fun(28));

1.5707963262

46自然数对是指两个自然数的和与差都是平方数,如8和17的和8+17=25与其差17-8=9都是平方数,则称8和17是自然数对(8,17)。

假定(A,B)与(B,A)是同一个自然数对且假定A>

=B,求所有小于或等于100(即:

A<

=100,B<

=100,A<

>

B,A和B均不为0)的自然数对中A*B的积的和。

{doublesum=0.0;

inta,b;

for(b=1;

for(a=b+1;

if((int)(sqrt(a+b))==sqrt(a+b)&

(int)(sqrt(a-b))==sqrt(a-b))

{sum=sum+a*b;

%3d%3d"

\n%f"

若两个自然连续数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,例:

2*3-1=5,因此2与3是友数对,5是友素数,求[40,119]之间友素数对的数目。

{inti,n=0,j,m;

longk;

for(i=40;

=118;

{k=i*(i+1)-1;

m=sqrt(k);

if(k%j==0)break;

if(j>

m){printf("

%d%d"

i,i+1);

n++;

if(n%5==0)printf("

\n"

\n%4d"

求S=1/2+2/3+3/5+5/8+……的前30项的和(注:

该级数从第二项开始,其分子是前一项的分母,其分母是前一项的分子与分母的和)。

按四舍五入的方式精确到小数点后第二位。

{floats=0.0,b=1.0,a=2.0,t;

intn;

=30;

{s=s+b/a;

t=b+a;

b=a;

a=t;

%7.2f"

30

当n=50时,求下列级数和:

S=1/(1*2)+1/(2*3)+…+1/(n*(n+1))

编程求取:

[121,140]之间的弦数的个数(若某正整数的平方等于另两个正整数平方之和,则称该数为弦数.例如:

3^2+4^2=5^2,因此5是弦数)。

{intn=0,i,j,k;

for(i=100;

=200;

{for(j=1;

=i;

for(k=j+1;

k<

k++)

if(i*i==j*j+k*k){n++;

%3d,%3d,%3d"

j,k,i);

if(n%3==0)printf("

}

18.46

求Y=1-1/2+1/3-1/4+1/5...前30项之和。

0.9804

(x,y,z)满足方程:

x^2+y^2+z^2=55^2(注:

要求x>

y>

z),则(x,y,z)称为方程的一个解。

试求方程的整数解(包括负整数解)的个数。

{intn=0,x,y,z;

for(z=-55;

=55;

for(y=z+1;

y++)

for(x=y+1;

if(x*x+y*y+z*z==55*55&

x>

y&

z){printf("

%4d%4d%4d"

x,y,z);

求方程9X-19Y=1,在|X|≤100,|Y|≤50内共有多少组整数解?

0.68

12.设S(n)=1-1/3+1/5-1/7+…1/(2n-1),求S(100)的值,要求S(100)按四舍五入方式精确到小数点后4位。

s=s+pow((-1.0),(n-1))*1.0/(2*n-1);

34.设S=1+1/2+1/3+…1/n,n为正整数,求使S不超过10(S≤10)的最大的n。

s<

=10;

s=s+1.0/n;

%d,%7.4f"

n-2,s);

36有一个三位数满足下列条件:

(1)此三位数的三位数字各不相同;

(2)此三位数等于它的各位数字的立方和。

试求所有这样的三位数中最大的一个是多少?

{inti,ge,shi,bai;

for(i=999;

{ge=i%10;

shi=i/10%10;

bai=i/100;

if(ge!

=bai&

ge!

=shi&

shi!

(ge*ge*ge+bai*bai*bai+shi*shi*shi==i))

{printf("

41.设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:

9512,9+1=5*2,试问所有这样的四位数之和是多少?

{longs=0;

inti,n=0,ge,shi,bai,qian;

for(i=1000;

bai=(i-shi*10-ge)/100%10;

qian=i/1000;

if(qian+shi==bai*ge){n++;

if(n%5==0)printf("

%d,%ld"

n,s);

12367

50所谓回文数是从左至右与从右至左读起来都是一样的数字,如:

121是一个回文数。

编写程序,求出100-900之间的所有回文数的个数。

{inti,ge,bai,n=0;

=999;

if(ge==bai))

407

当m的值为50时,计算下列公式的值:

T=1-1/2-1/3-1/4-…-1/m

已知:

f(n)=f(n-1)+2*f(n-2)-5*f(n-3),f(0)=1,f

(1)=2,f

(2)=3,求f(0)+f

(1)+…f(30)。

80

求数学式1-1/2+1/3-1/4+1/5-1/6+…+1/99-1/100的值。

(按四舍五入方式精确到小数点后4位)

-2.4992

求Y=1-1/2+1/3-1/4+1/5...前30项之和。

-750874

当n=100时,计算S=(1-1/2)+(1/3-1/4)+……+(1/(2n-1)-1/(2n))的值。

.

按四舍五入的方式精确到小数点后

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1