西工大POJ100题全新DOC.docx

上传人:b****6 文档编号:7869340 上传时间:2023-01-26 格式:DOCX 页数:91 大小:51.85KB
下载 相关 举报
西工大POJ100题全新DOC.docx_第1页
第1页 / 共91页
西工大POJ100题全新DOC.docx_第2页
第2页 / 共91页
西工大POJ100题全新DOC.docx_第3页
第3页 / 共91页
西工大POJ100题全新DOC.docx_第4页
第4页 / 共91页
西工大POJ100题全新DOC.docx_第5页
第5页 / 共91页
点击查看更多>>
下载资源
资源描述

西工大POJ100题全新DOC.docx

《西工大POJ100题全新DOC.docx》由会员分享,可在线阅读,更多相关《西工大POJ100题全新DOC.docx(91页珍藏版)》请在冰豆网上搜索。

西工大POJ100题全新DOC.docx

西工大POJ100题全新DOC

1·计算A+B

2·圆及圆球等的相关计算

3·计算成绩

4·找最大数

5·找幸运数

6·奖金发放

7·出租车费

8·是该年的第几天

9·成绩转换

10·求建筑高度

11·区间内素数

12·计算π

13·两个整数之间所有的素数

14·最次方数

15·自然数立方的乐趣

16·五猴分桃

17·完全数

18·二分求根

19·你会存钱吗?

20·级数和

21·幸运数字7

22·粒子裂变

23·特殊整数

24·最大乘积

25·解不等式

26·危险的组合

27·子序列的和

29·探索合数世纪

30·韩信点兵

31·亲和数

32·高低交换

33·循环移位

35·组合数

36·积分计算

37·数据加密

38·获取指定二进制位

39·ACKERMAN

40·不会吧,又是A+B

41·平均值函数

42·插入排序

43·一维数组赋值

44·右下角

45·右上角

46·山迪的麻烦

47·冒泡排序

48·恐怖水母

49·左上角

50·一维数组加法

51·字符串排序

52·字符串左中右

53·文章统计

54·找出数字

55·字符串比较

56·THECLOCK

57·合并字符串

58·特殊要求的字符串

59·字符串逆序

60·COINTEST

61·小型数据库

62·单词频次

65·检测位图长宽

67·子字符串替换

68·复数

69·字符串加密编码

70·重组字符串

71·大数除法

72·创建与遍历职工链表

73·大数加法

74·大数减法

75·链表节点删除

76·链表动态增长或缩小

77·大数乘法

78·精确乘幂

80·火车站

81·操场训练

82·HAILSTONE

84·阶乘合计

85·王的对抗

86·三点顺序

87·公园喷水器

88·勇闯天涯

89·不屈的小蜗

90·THERATIOOFGAINERSTOLOSERS

91·GRAVEYARD

92·ARITHMETICPROGRESSIONS

93·SCORING

94·HOUSEBOAT

97·BEE

98·CHECKSUMALGORITHM

99·Hanoi2

100·Specializednumber

 

1·计算A+B

#include

intmain()

{

inta,b,sum;

scanf("%d%d",&a,&b);

sum=a+b;

printf("%d",sum);

}

2·圆及圆球等的相关计算

#include

intmain()

{

floatr,h,l,s,sq,vq,vz,pi=3.141592653;

scanf("%f%f",&r,&h);

l=2*pi*r;

s=pi*r*r;

sq=4*pi*r*r;

vq=4.0/3*pi*r*r*r;

vz=pi*r*r*h;

printf("%.2f\n%.2f\n%.2f\n%.2f\n%.2f\n",l,s,sq,vq,vz);

return0;

}

3·计算成绩

#include

intmain()

{

floata,b,c,sum,ave;

scanf("%f%f%f",&a,&b,&c);

sum=a+b+c;

ave=sum/3.0;

printf("%.6f\n%.6f",sum,ave);

return0;

}

4·找最大数

#include

intmain()

{

inta,b,c,t;

scanf("%d%d%d",&a,&b,&c);

if(a

if(a

printf("%d",a);

return0;

}

5·找幸运数

#include

intmain()

{

inti,j,a;

scanf("%d",&a);

i=0;

j=a;

while(j)

{

i=10*i+(j%10);

j=j/10;

}

if(i==a)

printf("yes\n");

elseprintf("no\n");

return0;

}

6·奖金发放

#include

intmain()

{

floatl;

scanf("%f",&l);

if(l<=10)l=l*0.1;

elseif(l<=20)l=10*0.1+(l-10)*0.075;

elseif(l<=40)l=10*0.1+10*0.075+(l-20)*0.05;

elseif(l<=60)l=10*0.1+10*0.075+20*0.05+(l-40)*0.03;

elseif(l<=100)l=10*0.1+10*0.075+20*0.05+20*0.03+(l-60)*0.015;

elsel=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(l-100)*0.01;

printf("%.6f",l);

return0;

}

7·出租车费

#include

#include

intmain()

{

floata,n,t;

scanf("%f",&a);

if(a<=2)n=7;

elseif(a<=15){

t=a-floor(a);

if(t==0)n=7+(floor(a)-2)*1.5;

elsen=7+(floor(a)-1)*1.5;

}

else{

t=a-floor(a);

if(t==0)n=7+13*1.5+(floor(a)-15)*2.1;

elsen=7+13*1.5+(floor(a)-14)*2.1;}

printf("%.6f",n);

return0;

}

8·是该年的第几天

#include

intmain()

{

inty,m,d,n,a;

scanf("%d-%d-%d",&y,&m,&d);

if((y%4==0&&y%100!

=0)||(y%400==0))a=29;

elsea=28;

switch(m)

{

case1:

n=d;break;

case2:

n=31+d;break;

case3:

n=31+a+d;break;

case4:

n=62+a+d;break;

case5:

n=92+a+d;break;

case6:

n=123+a+d;break;

case7:

n=153+a+d;break;

case8:

n=184+a+d;break;

case9:

n=215+a+d;break;

case10:

n=245+a+d;break;

case11:

n=276+a+d;break;

case12:

n=306+a+d;break;

}

printf("%d",n);

return0;

}

9·成绩转换

#include

intmain()

{

intn;

scanf("%d",&n);

if(n<60)printf("E\n");

elseif(n<70)printf("D\n");

elseif(n<80)printf("C\n");

elseif(n<90)printf("B\n");

elseprintf("A\n");

return0;

}

10·求建筑高度

#include

intmain()

{

floatx,y,a,b,c,d;

scanf("%f,%f",&x,&y);

a=(x-2)*(x-2)+(y-2)*(y-2);

b=(x-2)*(x-2)+(y+2)*(y+2);

c=(x+2)*(x+2)+(y-2)*(y-2);

d=(x+2)*(x+2)+(y+2)*(y+2);

if(a<=1||b<=1||c<=1||d<=1)printf("10");

elseprintf("0");

return0;

}

11·区间内素数

#include

#include

intmain()

{

inti,n=500,cnt=0,sum=0;

while(n<=800){

for(i=2;i<=n-1;i++)

if(n%i==0)break;

if(i==n)cnt=cnt+1,sum=sum+pow((-1),cnt)*n;

n=n+1;

}

printf("%d%d",cnt,sum);

return0;

}

12·计算π

#include

#include

intmain()

{

ints=1;

doublepi=0,n=1,t=1;

while(fabs(t)>1e-6)

pi=pi+t,n=n+2,s=-s,t=s/n;

pi=pi*4;

printf("%.6f",pi);

return0;

}

13·两个整数之间所有的素数

#include

intmain()

{

inta,b,t,i;

scanf("%d%d",&a,&b);

if(a>b)t=a,a=b,b=t;

while(a<=b){

for(i=2;i<=a-1;i++)

if(a%i==0)break;

if(i==a)printf("%d",a);

a++;

}

return0;

}

14·最次方数

#include

intmain()

{

intx,a,m=1,n=1;

scanf("%d%d",&x,&a);

while(m<=a){

n=n*x;

n=n%1000;

m=m+1;

}

printf("%d",n);

return0;

}

15·自然数立方的乐趣

#include

intmain()

{

intn,a,i,t;

scanf("%d",&n);

a=n*(n-1)+1;

t=n*n*n;

printf("%d*%d*%d=%d=",n,n,n,t);

for(i=1;i

printf("%d+",a);

a=a+2;}

printf("%d",a);

return0;

}

16·五猴分桃

#include

intdivides(intn,intm)

{

if(n/5==0||n%5!

=1)return0;

if(m==1)return1;

returndivides(n-n/5-1,m-1);

}

intmain()

{

intn,a;

for(n=1;;n++)

if(divides(n,5)){

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

}

a=(((((n-1)*4/5-1)*4/5-1)*4/5-1)*4/5-1)*4/5;

printf("%d",a);

return0;

}

17·完全数

#include

intmain()

{

inti,n,sum=0;

for(n=2;n<1000;n++){

sum=0;

for(i=1;i<=n/2;i++){

if(n%i==0)sum=sum+i;}

if(sum==n){printf("%d=",n);

for(i=1;i

if(n%i==0)printf("%d+",i);

i=n/2;

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

}

return0;

}

18·二分求根

#include

#include

doublefun(doublex){return2*x*x*x-4*x*x+3*x-6;}

doubleroot(doublea,doubleb,doublee)

{

doublex1,x2,y1,x,y;

x1=a;

x2=b;

do{

x=(x1+x2)/2;

y=fun(x);

y1=fun(x1);

if((y<0&&y1<0)||(y>0&&y1>0))

x1=x;

else

x2=x;

/*endif*/

}while(fabs(y)>e);

returnx;

}

intmain(void)

{

doublem,n;

scanf("%f%f",&m,&n);

doublex=root(m,n,1e-8);

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

return0;

}

19·你会存钱吗?

#include

#include

intmain()

{

inti8,i5,i3,i2,i1,n8,n5,n3,n2,n1;

floatmax=0,term;

for(i8=0;i8<3;i8++)/*穷举所有可能的存款方式*/

for(i5=0;i5<=(20-8*i8)/5;i5++)

for(i3=0;i3<=(20-8*i8-5*i5)/3;i3++)

for(i2=0;i2<=(20-8*i8-5*i5-3*i3)/2;i2++)

{

i1=20-8*i8-5*i5-3*i3-2*i2;

term=2000.0*pow((double)(1+0.0063*12),(double)i1)

*pow((double)(1+2*0.0063*12),(double)i2)

*pow((double)(1+3*0.0069*12),(double)i3)

*pow((double)(1+5*0.0075*12),(double)i5)

*pow((double)(1+8*0.0084*12),(double)i8);

/*计算到期时的本利合计*/

if(term>max)

{

max=term;n1=i1;n2=i2;n3=i3;n5=i5;n8=i8;

}

}

printf("%d",n8);

printf("%d",n5);

printf("%d",n3);

printf("%d",n2);

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

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

/*输出存款方式*/

}

20·级数和

#include

#include

intmain()

{intj,t,i,a,n;

doubles=0;

scanf("%d",&n);

j=-1;i=1;t=1;

for(a=0;a

{t=t*2;j*=-1;i*=-1;s=s+j*t/((t+i)*(2*t+j)+0.0);}

printf("%.6lf\n",s);

return0;

}

21·幸运数字7

#include

intmain()

{

intn,i;

scanf("%d",&n);//n不大于30000

if(n<7);

else{

for(i=7;i<=n;i++)

if(i%7==0||i%10==7||i/1000%10==7||i/100%10==7||i/10%10==7)

printf("%d",i);

}

return0;

}

22·粒子裂变

#include

intmain()

{

intn[100],m[100],t,i;

n[0]=1;

m[0]=0;

scanf("%d",&t);

for(i=1;i<=t;i++){

n[i]=m[i-1];

m[i]=3*n[i-1]+2*m[i-1];

}

printf("%d%d",n[t],m[t]);

return0;

}

23·特殊整数

#include

#include

#include

intmain()

{

intm,n,g=0,s=0,i,j,x,x1,x2;

scanf("%d%d",&m,&n);

x1=(int)(pow(10.0,n)/10);

x2=(int)(pow(10.0,n)-1);

for(i=x1;i<=x2;i++)

{

j=i;

do{

x=j%10;

if(x==m)

{

if(i%m!

=0)

g++,s=s+i;break;

}

elsej=j/10;

}while(j!

=0);

}

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

return0;

}

24·最大乘积

#include

intmain()

{

intA[18],i,j,n,x,y=0;

scanf("%d",&n);

for(i=0;i

scanf("%d",&A[i]);

for(i=0;i

{

x=1;

for(j=i;j

{

x=x*A[j];

if(x>y)y=x;

}

}

if(y>0)printf("%d",y);

elseprintf("-1");

return0;

}

25·解不等式

#include

intmain()

{

inta,b;

floatn,s=0,sum=0;

scanf("%d%d",&a,&b);

for(n=1;sum<=a;n++){

s=s+1/n;

sum=sum+1/s;

}

printf("%.0f",n=n-1);

for(n;sum<=b;n++){

s=s+1/n;

sum=sum+1/s;

}

printf("%.0f",n=n-1);

return0;

}

26·危险的组合

#include

#include

intmain()

{

intn;

intf(int);

scanf("%d",&n);

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

return0;

}

intf(intn)

{

inta;

if(n==1||n==2)

a=0;

elseif(n==3)

a=1;

elseif(n==4)

a=3;

elsea=f(n-1)*2+pow(2,n-4)-f(n-4);

returna;

}

27·子序列的和

#include

#include

intmain()

{

intm,n,i;//n

doublea,sum=0;

scanf("%d%d",&n,&m);

for(i=n;i<=m;i++){

a=pow(i,2.0);

sum=sum+1/a;

}

printf("%.5lf",sum);

return0;

}

29·探索合数世纪

#include

intmain()

{

intn,i=500,s,x,count=0;

longj,k;

scanf("%d",&n);

while(count

{

s=0;

for(j=i*100-99;j

{

x=0;

for(k=3;k*k<=j;k+=2)

if(j%k==0)

{

x=1;

break;

}

s+=x;

}

if(s==50)

count++;

i++;

}

printf("%d%d",j-101,j-2);

return0;

}

30·韩信点兵

include

intmain()

{

inta,b,c,n;//a<3,b<5,c<7

scanf("%d%d%d",&a,&b,&c);

for(n=10;n<=100;n++){

if((n-a)%3==0&&(n-b)%5==0&&(n-c)%7==0)

break;

}

if(n>100)printf("-1");

elseprintf("%d",n);

return0;

}

31·亲和数

#include

intfun(inta)

{

intb=0,i;

for(i=1;i<=a/2;i++)

{

if(a%i==0)

b+=i;

}

returnb;

}

intmain()

{

inta,b;

scanf("%d%d",&a,&b);

if(fun(a)==b&&fun(b)==a)

printf("YES");

elseprintf("NO");

return0;

}

32·高低交换

#include

inlineintxchg(unsignedcharn)

{

charleft=n<<4;

charright=n>>4;

returnleft+right;

}

intmain()

{

intn;

scanf("%d",&n);

n=xchg(n);

printf("%d",n);

return0;

}

33·循环移位

#include

intmove(intvalue,intn)

{

if(n==0)returnvalue;

elseif(n<0)

{

n=-n;

value=(value<>(32-n));

}

elsevalue=(value>>n)|(value<<(32-n));

returnvalue;

}

intmain()

{

intvalue,n;

scanf

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

当前位置:首页 > 高等教育 > 其它

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

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