OpenJudge题解 您所在的位置:网站首页 C语言openjudge斐波那契 OpenJudge题解

OpenJudge题解

2023-09-08 07:30| 来源: 网络整理| 查看: 265

目录: 01:求平均年龄02:财务管理03:均值04:求整数的和与均值05:最高的分数06:整数序列的元素最大跨度值07:奥运奖牌计数08:多边形内角和09:奇数求和10:满足条件的数累加11:整数的个数12:与指定数字相同的数的个数13:乘方计算14:人口增长问题15:银行利息16:买房子17:菲波那契数列18:鸡尾酒疗法19:救援20:球弹跳高度的计算21:角谷猜想22:津津的储蓄计划23:药房管理24:正常血压25:求特殊自然数26:统计满足条件的4位数个数27:级数求和28:分离整数的各个数位29:数字反转30:含k个3的数31:开关灯32:求分数序列和33:计算分数加减表达式的值34:求阶乘的和35:求出e的值36:计算多项式的值37:雇佣兵38:计算多项式的导函数39:与7无关的数40:数1的个数41:数字统计42:画矩形43:质因数分解44:第n小的质数45:金币

01:求平均年龄

提示:见代码。

#include using namespace std; int main(){ int n,a,num=0; float ave; cin>>n; for(int i=1;i float a,sum=0; for(int i=0;i int n; float a,sum=0; cin>>n; for(int i=0;i int n,a,sum=0; cin>>n; for(int i=0;i int n,a,mx=0; cin>>n; for(int i=0;i int n,a[1005],mx,mn; cin>>n; for(int i=0;i if(a[i]>mx) mx=a[i]; if(a[i] cin>>j>>y>>t; a[1]+=j; a[2]+=y; a[3]+=t; a[4]+=(j+y+t); } printf("%d %d %d %d",a[1],a[2],a[3],a[4]); return 0; } 08:多边形内角和

提示:将输入的n-1个角都累加起来,再通过公式一减,结果就出来了。

#include using namespace std; int n,a,sum; int main(){ cin>>n; for(int i=0;i cin>>m>>n; for(int i=m;i cin>>m>>n; for(int i=m;i cin>>k; for(int i=0;i cin>>n>>m; for(int i=0;i cin>>a>>n; for(int i=0;i cin>>x>>n; num=x; for(int i=0;i cin>>r>>m>>y; num=m; for(int i=0;i cin>>n>>k; for(int i=1;i cout a[i]=a[i-1]+a[i-2]; } cout cin>>x>>y; //x:总案例 y:有效案例 a[i]=y/x; //计算效果 if(a[i]-a[0]>0.05) cout cin>>x>>y>>f; s=sqrt(x*x+y*y)*2; t+=(s/50)+(f*1.5); } cout sum+=1.5*h; //计算每一次下落加上反弹起来的高度 h/=2; } sum=sum-h; //减去最终上升的高度 cout if(n%2==0){ printf("%lld/2=%lld\n",n,n/2); // cout for(int i=1;i //判断是否小于预算 cout cin>>num>>n; for(int i=0;i cin>>n; for(int i=0;i t+=1; if(t>mx) mx=t; } else t=0; } cout if((i%9==i/7/7%7)&&(i/9%9==i/7%7)&&(i/9/9%9==i%7)){ cout cin>>m; g=m%1000%100%10; s=m%1000%100/10; b=m%1000/100; q=m/1000; if(g-q-b-s>0){ ans++; } } cout sn+=1.0/n; if(sn>k){ cout //n为0时结束 a=n%10; //取每一次的个位 n/=10; //每循环一次,整除10,n的位数不断变少 cout cout cout if(num%10==3) n++; num/=10; } if(m%19==0 && n==k) cout //从第二个人开始操作都一样 for(int i=k;i if(flag==0) cout p[i+1]=q[i]; q[i+1]=q[i]+p[i]; sum+=q[i+1]/p[i+1]; } printf("%.4lf",sum); return 0; } 33:计算分数加减表达式的值

提示:见代码。

#include using namespace std; double sum; int n; int main(){ cin>>n; for(int i=1;i cin>>n; for(int i=1;i temp*=j; //计算阶乘 } sum+=temp; } cout double temp=1; //每换一个数就初始化为1 for(int j=1;j cin>>x>>n; for(int i=n;i>=0;i--){ sum+=pow(x,i); } printf("%.2f",sum); return 0; } 37:雇佣兵

提示:这道题,题意需要理解一下。 1.雇佣兵的初始体力是0,最大体力是M; 2.战斗力为N,每战斗N天,战斗力提升1点; 3.拥有X个能量元素,每一个能量元素,能恢复的体力值不超过当前的战斗力N,且每次要恢复到最大体力M(比如现在战斗力为2,最大体力为5,每一个能量元素最多恢复2点体力,要恢复到5,就是2+2+2,至少需要3个能量元素) 4.M天为一个战斗周期,这个M天内,每过N天雇佣兵的战斗力就会上升一点,N为开始时的战斗力(比如开始时的战斗力是2,M为5,则5/2=2,M天结束,战斗力上涨2点)

#include using namespace std; int m,n,x; int main(){ cin>>m>>n>>x; while(x>0){ //循环直到没有能量元素 for(int i=0;i //如果能量元素大于等于1,则减少 x--; //能量元素减一 }else{ //否则表示能量元素耗尽了,还没有恢复到最大体力M cout printf("0"); return 0; } for(int i=n;i>0;i--) { scanf("%d",&c); printf("%d ",c*i); } return 0; } 39:与7无关的数

提示:见代码。

#include using namespace std; int n,sum,flag,temp; int main(){ cin>>n; for(int i=1;i if(temp%10==7){ flag=1; break; } temp/=10; } if(i%7!=0 && flag==0){ sum+=i*i; } } cout temp=i; while(temp!=0){ if(temp%10==1){ sum++; } temp/=10; } } cout temp=i; while(temp!=0){ if(temp%10==2){ sum++; } temp/=10; } } cout for(int j=1;j if(f==0) cout flag=0; for(int j=2;j flag=1; break; } } if(flag==0 && n%i==0){ cout for(j=2;j printf("%d\n",i); return 0; } } } 45:金币

提示:见代码。

#include using namespace std; int n,sum,temp=1; int main(){ cin>>n; while(n>0){ for(int i=0;i cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有