当前位置: 首页 > news >正文

哪些行业做网站最重要安徽金鹏建设集团网站

哪些行业做网站最重要,安徽金鹏建设集团网站,做自己的网站给人的启发,企业申请域名昨天#xff0c;小孩问了我一个python编程竞赛题#xff0c;我看了一下题目#xff0c;是一个数列编程的问题#xff0c;我在想#xff0c;小学五年级的学生能搞得懂吗#xff1f;反正我家小孩是没有搞懂#xff0c;不知道别人家的小孩能不能搞明白。所以我花了一点时间…        昨天小孩问了我一个python编程竞赛题我看了一下题目是一个数列编程的问题我在想小学五年级的学生能搞得懂吗反正我家小孩是没有搞懂不知道别人家的小孩能不能搞明白。所以我花了一点时间把编程思路记录下来。第一个方案采样通用的方法循环处理但这样的程序时间复杂度与输入的值成正比然后我又想了第二种方案采用算式计算的方法时间复杂度与输入无关。以下是我的分析思路 国王将金币作为工资发放给忠诚的骑士。 第一天骑士收到一枚金币之后两天第二天和第三天每天收到两枚金币之后三天第四五六天每天收到三枚金币之后四天每天收到四枚金币依次类推这种工资发放模式会一直延续下去当连续N天收到N枚金币后骑士会在之后的N1天每天收到N1枚金币。【白名单竞赛NOC】 请编写程序计算前M天里骑士一共获得了多少金币。 【输入格式】输入包含一个正整数M表示发放金币的天数。 【输出格式】输出一个正整数即骑士收到的金币数。 【输入样例】 6 【输出样例】 14 分析 天数         1   2   3   4   5   6   7   8   9   10   11   12   13   14   15 ...... 金币数      1   2   2   3   3   3   4   4   4   4     5     5     5     5     5 ...... 总数          1   3   5   8  11 14 18 22 26 30   35   40   45   50   55 ...... 可以知道 第1天收到1枚金币第二三天每天收到2枚金币第四五六天每天收到3枚金币第七八九十天每天收到4枚金币按这个规律一直持续下去 每天发放金币的数量的增长规律是1,2,3,4,5,6。。。即1枚金币发放1天2枚金币发放2天3枚金币发放3天。。。N枚金币发放N天 所以发放的金币总数量:  假设N枚金币刚好连续发放了N天 total 1 * 1 2 * 2 3 * 3 4 * 4   ... N * N 题目需求是用户输入天数M,输出发放的总的金币数 所以首先我们要根据天数M计算出当天发放的金币数N。 我们从上述表格中可以看出在第1,3,6,10,15。。。天的时候当天发放的金币数量是1,2,3,4,5。。。并且1枚金币发了1天2枚金币发了2天。。。5枚金币刚好发了5天 所以我们首先假设用户刚好输入的是1,3,6,10,15。。。这些天数然后我们根据这些天数来计算当天应该发放的金币数N 现在开始找规律当M1时N1; 当M3时M12; N2; 当M6时M123; N3; 当M10时M1234; N4; 当M15时M12345; N5; ...... 从上述规律可以看出M的值为M 1 2 3 4 5 ... N 这样我们可以使用循环来进行计数累加当累加值大于等于M时循环终止此时计数值即为N。 最后考虑到用户输入的值会小于累加值在计算总金币数的时候要减掉M-用户输入*N的数量。 程序如下 M int( input( “请输入一个正整数” ) ) num 0 total 0 for N in range( 1,M ) : num num N total total N * N if num M : total total - ( num - M ) * N break print( total ) 上述程序虽说可以正确输出结果但是程序运行的时间随着用户输入的数值变大而变长下面我们换一种方法使得程序的运行时间与输入无关。 上面的分析我们已经知道当用户刚好输入的是1,3,6,10,15。。。这些天数 M 1 2 3 4 5 ... N N * ( N 1 ) / 2 当N11时M1 N1 * ( N1 1 ) / 2 1; 当N22时M2 N2 * ( N2 1 ) / 2 3; 当N33时M3 N3 * ( N3 1 ) / 2 6; 当N44时M4 N4 * ( N4 1 ) / 2 10; 当N55时M5 N5 * ( N5 1 ) / 2 15; ...... 考虑到等式M N * ( N 1 ) / 2 即 N*N N - 2*M 0 (1) 解方程得N ( sqrt( 1 8 * M ) - 1 ) / 2 上面分析我们已经知道总金币数 total 1 * 1 2 * 2 3 * 3 4 * 4   ... N * N 我们用N1,N2,N3,......,NN表示总金币数 total N1*N1 N2*N2  N3*N3 N4*N4  ... Nn*Nn  用式1代入得 total ( 2 * M1 - N1 ) ( 2 * M2 - N2 ) ( 2 * M3 - N3 ) ...  ( 2 * Mn - Nn ) 2 * ( M1 M2 M3 ... Mn ) - ( N1 N2 N3 ... Nn ) N1 N2 N3 ... Nn 为数列和1234...N N*(N1)/2 Mn M1 M2 M3 ... Mn 为数列和1361015... Mn  N*(N1)*(N2)/6 所以total 2 * ( M1 M2 M3 ... Mn ) - ( N1 N2 N3 ... Nn ) 2 * N * ( N 1 ) * ( N 2 ) / 6 - N * ( N 1 ) / 2 N * ( N 1 ) * ( 2 * N 1 ) / 6 Mn * ( 2 * N 1 ) / 3 考虑到用户输入的数值M小于Mn , 修正总数为 total Mn * ( 2 * N 1 ) / 3 - ( Mn - M ) * N ( 3 * M * N Mn - Mn * N ) / 3 最后程序如下 import math M int( input( “请输入一个正整数” ) ) Nf ( math.sqrt( 1 8 * M ) - 1 ) / 2 N int( Nf ) if Nf N: N N 1 Mn N * ( N 1 ) / 2 total ( 3 * M * N Mn - Mn * N ) / 3 print( total )
http://www.w-s-a.com/news/546197/

相关文章:

  • 免费私人网站建设软件高端网站设计平台高端网站设计企业
  • 响应式网站建设的应用场景怎么申请电商平台
  • 怎么做垂直自营网站游戏咨询网站建设目标是什么
  • 建设网站需要给钱吗建立网站三大基础
  • 金融公司网站 htmlwordpress 防火墙
  • 重庆智能建站模板网站投票系统 js
  • 网站维护的内容和步骤网站做什么内容
  • 万网虚拟主机建网站wordpress协调世界时
  • 微网站建设方式应用大全网站
  • 网站速度测速织梦模板下载
  • 环保网站建设公司排名汉阴网站建设
  • 自己做网站的二维码wordpress用户权限在哪改
  • 网站使用说明书网站建设公司的介绍
  • 推广型网站免费建设网站防盗链设置
  • 建设银行网站查开户行网站反链暴增怎么回事
  • centos7做网站软件实施工程师工资一般多少
  • 专业房产网站建设深圳建设交易集团
  • 政务网站建设标准项目经理接到网站开发怎么开展
  • 网站框架设计好后怎么做网站广告销售怎们做
  • asp技校网站保定八大平台公司
  • wordpress网站前端优化网站备案批量查询
  • 北京企业做网站杭州seo中心
  • 护肤品网站建设前的行业分析wordpress电子书模板
  • 做网站怎么销售.net开发网站怎么样
  • 蚌埠网站优化网站换空间wordpress
  • 微网站开发框架公司企业logo
  • 大淘客官网做的网站打不开网站建设完成
  • 婚纱摄影网站模板让别人做网站怎样才安全
  • 技术支持 骏域网站建设专家佛山网站运营管理教材
  • 个体营业执照可以做网站服务吗电商运营学校培训