信息技术学科教研
当前登录用户:
教学专题
  • 教学设计
  • 教学课件
  • 学案设计
  • 微课专题
  • 说课专题
  • 教学视频
  • 1100金币-数学法

    编辑发布:webdc   时间:2019/8/8 14:32:43   访问量:1760  评论条:  

    #include<iostream>
    #include<cmath>
    using namespace std;
    int main()
    {
     int k,N,Sx,Sn,s;
     cin>>k;
     N = sqrt(2*k);//sqrt(2k+1/4);
     //保证k[Sn-1,Sn]的情况下 求N。
     //用令Sx=Sn-1,Sn=Sn
     Sx = ((N+1)*N)/2;
     if(k>Sx)//如果最大层天数小于k,加一层
      N++;
     else
       Sx-=N; 
     //s=((N-1)*N*(2*(N-1)+1))/6+N*(k-Sx);
     //s=((N-1)*N*(2*N-1))/6+N*(k-Sx);
     s=((N-1)*N*(2*N-1))/6+N*(k-Sx);
     cout<<s;   
     return 0;
     }
    1100金币-数学法.docx

    sjfakl