西工大C语言POJ作业.docx

上传人:b****5 文档编号:7603465 上传时间:2023-01-25 格式:DOCX 页数:18 大小:808.91KB
下载 相关 举报
西工大C语言POJ作业.docx_第1页
第1页 / 共18页
西工大C语言POJ作业.docx_第2页
第2页 / 共18页
西工大C语言POJ作业.docx_第3页
第3页 / 共18页
西工大C语言POJ作业.docx_第4页
第4页 / 共18页
西工大C语言POJ作业.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

西工大C语言POJ作业.docx

《西工大C语言POJ作业.docx》由会员分享,可在线阅读,更多相关《西工大C语言POJ作业.docx(18页珍藏版)》请在冰豆网上搜索。

西工大C语言POJ作业.docx

西工大C语言POJ作业

T091、Houseboat

#include

#definePI3.1415926

intmain()

{

inti,n;

doubleyear,x,y;

scanf("%d",&n);

for(i=0;i

{

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

year=PI*(x*x+y*y)/100;

printf("%d%d\n",i+1,(int)year+1);

}

return0;

}

T092、Sticks

#include

#include

#include

intlen[64],n,minlen,get;

boolb[64];

intcmp(constvoid*a,constvoid*b)

{

return*(int*)a<*(int*)b?

1:

-1;

}

booldfs(intnowlen,intnowget,intcnt)

{

if(cnt>=n)returnfalse;

if(get==nowget)returntrue;

inti;

boolf=false;

if(nowlen==0)f=true;

for(i=cnt;i

{

if(!

b[i])

{

if(len[i]+nowlen==minlen)

{

b[i]=true;

if(dfs(0,nowget+1,nowget))

returntrue;

b[i]=false;

returnfalse;

}

elseif(len[i]+nowlen

{

b[i]=true;

if(dfs(nowlen+len[i],nowget,i+1))

returntrue;

b[i]=false;

if(f)returnfalse;

while(i+1

}

}

}

returnfalse;

}

intmain()

{

inti,tollen;

while(scanf("%d",&n),n)

{

tollen=0;

intj=0,p;

for(i=0;i

{

scanf("%d",&p);

if(p<=50)

{

len[j]=p;

tollen+=len[j];

j++;

}

}

n=j;

if(n==0)

{

printf("0\n");

continue;

}

qsort(len,n,sizeof(int),cmp);

for(minlen=len[0];;minlen++)

{

if(tollen%minlen)continue;

memset(b,0,sizeof(b));

get=tollen/minlen;

if(dfs(0,0,0))

{

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

break;

}

}

}

return0;

}

T093、Checksumalgorithm:

#include

intmain()

{

chara[256];

inti,sum;

while(gets(a)&&a[0]!

='#')

{

sum=0;

for(i=0;a[i]!

='\0';i++)

if(a[i]!

='')

sum+=(i+1)*(a[i]-64);

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

}

return0;

}

T094、Bee:

#include

intmain()

{

intn,a,b,sum,i,t;

while(scanf("%d",&n)!

=EOF&&n!

=-1)

{

a=1,b=0,sum=0;

for(i=0;i

{

t=a;

a=b+1;

b=t+b;

sum=a+b;

}

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

}

return0;

}

T095、Graveyard:

#include

#include

intmain()

{

intn,m,i;

doubles,a;

while((scanf("%d%d",&n,&m))!

=EOF)

{

if(n==0&&m==0)break;

s=0;

for(i=1;i

{

a=i*1.0/n*(n+m);

s+=fabs(a-floor(a+0.5))/(n+m);/*放缩坐标系floor(a+0.5))/(n+m)

找到离这个对应坐标的最近一个点取得距离累加移动距离*/

}

printf("%.4f\n",s*10000);

}

return0;

}

T096、Roadtrip

#include

intmain()

{

intn,i,speed,hour,h,s;//s是路程,h是上次的时间

while(scanf("%d",&n)&&n!

=-1)

{

s=0;

h=0;

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

{

scanf("%d%d",&speed,&hour);

s+=speed*(hour-h);

h=hour;

}

printf("%d",s);

}

return0;

}

T097、HanoiII

#include

#defineM70

intstart[M],targe[M];

longlongf(int*p,intk,intfina)

{

if(k==0)return0;

if(p[k]==fina)returnf(p,k-1,fina);

returnf(p,k-1,6-fina-p[k])+(1LL<<(k-1));

}

intmain()

{

longlongans;

intn,cas=0;

while(scanf("%d",&n),n)

{

for(inti=1;i<=n;i++)scanf("%d",&start[i]);

for(inti=1;i<=n;i++)scanf("%d",&targe[i]);

intc=n;

for(;c>=1&&start[c]==targe[c];c--);

if(c==0){printf("0\n");continue;}

intother=6-start[c]-targe[c];

ans=f(start,c-1,other)+f(targe,c-1,other)+1;

printf("%lld\n",ans);

}

return0;

}

T098、Redistributewealth

#include

#include

#include

#include

longlongmoney[1000001];

longlongC[1000001];

intmain()

{

intn,t,i,j;

while(scanf("%d",&n)==1)

{

inti;

longlongsum=0;

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

{

scanf("%lld",&money[i]);

sum+=money[i];

}

longlongM=sum/n;

C[1]=money[1]-M;

C[0]=0;

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

{C[i]=C[i-1]+money[i]-M;

}

for(i=0;i

for(j=0;j

if(C[j]>C[j+1])

{

t=C[j];

C[j]=C[j+1];

C[j+1]=t;

}

longlongmid=C[n/2];

longlongsum1=0;

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

sum1+=abs(mid-C[i]);

printf("%lld\n",sum1);

}

return0;

}

T099、Dexterneedhelp:

#include

intfun(inta)

{

if(a==1)return1;

else

returnfun(a/2)+1;

}

intmain()

{

inta,x;

while(scanf("%d",&a)&&a!

=0)

{

x=fun(a);

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

}

return0;

}

T100、SpecializedNumbers

#include

intfun(inti,intr)

{

ints=0;

while(i)

{

s+=i%r;

i/=r;

}

returns;

}

intmain()

{

inti;

for(i=2992;i<10000;i++)

if(fun(i,10)==fun(i,12)&&fun(i,12)==fun(i,16))

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

return0;

}

T100、SpecializedNumbers

#include

intfun(inti,intr)

{

ints=0;

while(i)

{

s+=i%r;

i/=r;

}

returns;

}

intmain()

{

inti;

for(i=2992;i<10000;i++)

if(fun(i,10)==fun(i,12)&&fun(i,12)==fun(i,16))

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

return0;

}

(3)#include

intmain()

{

inti,n,sum10,sum12,sum16;

for(i=2992;i<10000;i++){

n=i;

sum10=0;

while(n){

sum10+=n%10;

n/=10;

}

n=i;

sum12=0;

while(n){

sum12+=n%12;

n/=12;

}

n=i;

sum16=0;

while(n){

sum16+=n%16;

n/=16;

}

if(sum10==sum12&&sum12==sum16)printf("%d\n",i);

}

return0;

}

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

当前位置:首页 > 农林牧渔 > 林学

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

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