1 条题解

  • 0
    @ 2025-4-12 21:41:03

    C :

    #include <stdio.h>
    int main()
    {
    	int m,i,n;
    	double f[11000];
    	while (scanf("%lf %lf %d",&f[1],&f[2],&m)!=EOF)
    	{
    		for (i=3;i<=100;i++)
    		{
    			f[i]=(f[i-1]+1)/f[i-2];
    			if (f[i]==f[2])
    			{
    				if (f[i-1]==f[1])
    				{
    					n=i-2;
    					break;
    				}
    			}
    		}
    		m=m%n;
    		if (m==0) printf("%.6lf\n",f[n]);
    		else printf("%.6lf\n",f[m]);
    	}
    	return 0;
    }
    

    C++ :

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    using namespace std;
    
    double ans[6];
    
    int main()
    {
    	int m;
    //	FILE *p,*fp,*f;
    //	fp=fopen("E:\\1.out","at");
    //	f=fopen("E:\\2.in","r");
    //	int cnt=0;
    	while(scanf("%lf%lf%d",&ans[1],&ans[2],&m)!=EOF)
    	{
    	//	cnt++;
    		ans[3]=(ans[2]+1)/ans[1];
    		ans[4]=(ans[1]+ans[2]+1)/(ans[1]*ans[2]);
    		ans[0]=(ans[1]+1)/ans[2];
    		char str[10000];
    		sprintf(str,"%.6lf",ans[m%5]);
    		puts(str);
    	//	fprintf(fp,"%s\n",str);
    	}
    //	printf("%d\n",cnt);
    	//fclose(f);
    	//fclose(fp);
    	return 0;
    }
    

    C# :

    using System;
    class _6052{
     
    static void Main()
    {
      string s;
      while((s=Console.ReadLine())!=null){
      	double t=0,a,b;int c;
        string []ss=s.Split(' ');
        a=double.Parse(ss[0]);
        b=double.Parse(ss[1]);
        c=(int.Parse(ss[2])-2)%5;/**/
    //    Console.WriteLine("{0},{1},{2}",a,b,c);
        if(c==0)Console.WriteLine("{0:f6}",b);
        else {
          while(c--!=0){
      		  t=(b+1)/a;
        	  a=b;
        	  b=t;    
    //      Console.WriteLine("{0},{1},{2},{3}",a,b,c,t);
     	  }
    //    float tt=12.3456789;
    	  Console.WriteLine("{0:f6}",t);
        }
        
      }
           
      
    }
            }
    
    • 1

    信息

    ID
    1150
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者