极值问题(acms)
【问题描述】
已知m、n为整数,且满足下列两个条件:
① m、n∈{1,2,…,k},即1≤m,n≤k,(1≤k≤109)。
②(n2-m*n-m2)2=1
你的任务是:编程输入正整数k,求一组满足上述两个条件的m、n,并且使m2+n2的值最大。例如,从键盘输入k=1995,则输出:m=987 n=1597。
【输入样例】
1995
【输出样例】
m=987
n=1597
代码如下:
long m,n,k;
double delt1,delt2,n1,n2;
scanf("%d",&k);
for(m=k;m>=;m--)
{
delt1=sqrt(*m*m+);
n1=(m+delt1)/;
n=n1;
if(n==n1&&n<=k) break; delt2=sqrt(*m*m-);
n2=(m+delt2)/;
n=n2;
if(n==n2&&n<=k) break;
}
printf("m=%d\nn=%d\n",m,n);
批注:该算法确实挺好,简洁、高效率,但是有一个问题比较明显,那就是当k的值达到10^9时,for循环内,m从k开始向1遍历。当m的值取10^9时,计算delt的时候,m^2会溢出。而且并非只有当k达到10^9才会有这个问题,当k达到10^5时就会出现这个问题。想要自己写一个函数去实现高精度数的开平方根,似乎也不是这么容易。所以,可以看看下面的递推算法。
标准答案是:
代码如下:
int n=,m=,k,t;
cin>>k;
do
{
t=n+m;
if(t<=k)
{
m=n;
n=t;
}
}
while(t<=k);
cout<<"m="<<m<<endl<<"n="<<n;
批注:一开始阅读该算法,实在无法理解为何会是跟斐波那契数列一样的规律。后来查资料,阅读理解,终于看懂。下面做一个记录。
极值问题(acms)的更多相关文章
- vijosP1543 极值问题
vijosP1543 极值问题 链接:https://vijos.org/p/1543 [题解](网上) 从简单情况人手: 设定m=1,将m代人方程②有(n2-n-1)2=1,可求出n=1: ...
- 【极值问题】【CF33C】 Wonderful Randomized Sum
传送门 Description 给你一个数列\(A\),你可以选择任意一个前缀和任意一个后缀,前缀后缀可重合.给他们乘\(-1\).求最大能获得的序列和. Input 第一行是一个数\(n\)代表数列 ...
- 【极值问题】【CF1063B】 Labyrinth
传送门 Description 给你一个\(n~\times~m\)的矩阵,一开始你在第\(r\)行第\(c\)列.你的上下移动不受限制,向左最多移动\(x\)次,向右最多移动\(y\)次.求你最多能 ...
- vijos - P1543极值问题(斐波那契数列 + 公式推导 + python)
P1543极值问题 Accepted 标签:[显示标签] 背景 小铭的数学之旅2. 描写叙述 已知m.n为整数,且满足下列两个条件: ① m.n∈1,2.-,K ② (n^ 2-mn-m^2)^2=1 ...
- 01(a)一元函数_多元函数_无约束极值问题的求解
1. 一元函数的极值问题 (函数光滑) 对于一个一元函数$f(x)$,怎么才能找出它的极值呢? 1.1根据定义:如果存在一点${{x}_{0}}$,在点${{x}_{0}}$的某个领域$U({{x} ...
- 2019.7.9 校内测试 T2 极值问题
这一次是交流测试?边交流边测试(滑稽 极值问题 乍一看这是一道数学题,因为1e9的数据让我暴力的心退却. 数学又不好,不会化简式子嘞,咋办? 不怕,咱会打表找规律.(考场上真的是打表找出了规律,打表打 ...
- E - Rebuild UVALive - 7187 (二次函数极值问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5531 Problem Description Archaeologists find ruins of ...
- VIJOS P1543极值问题
已知m.n为整数,且满足下列两个条件:① m.n∈1,2,…,K② (n^ 2-mn-m^2)^2=1编一程序,对给定K,求一组满足上述两个条件的m.n,并且使m^2+n^2的值最大.例如,若K=19 ...
- vijos1543(极值问题)解题报告
(n^2-m*n-m^2)^2=1 是齐次多项式,设n>=m,n=m+t(t>=0). n^2-m*n-m^2=t^2-m*t-m^2 所以(t^2-m*t-m^2)^2=1. 如果n,m ...
随机推荐
- POI导出excel的简单demo
目前使用过两种导出excel的方式,一种是如题所示的使用POI的方式进行数据的导出,这种方式一般只有在处理比较多的数据或者说需要导出的excel表格中有图片之类的需要特殊处理的文件的时候使用:还有一种 ...
- JavaEE开发环境搭建(2)---(MySQL的安装)
上次写了JavaEE开发环境搭建之jdk的安装...然后自己看的时候感觉有时候加载图片不是很流畅,所以这次就少添加点图片了~~ JavaEE开发环境搭建之MySQL的安装 1:mysql 的下载 在百 ...
- iOS开发网络篇—文件的上传
iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...
- cocos2d-x 开头配置(Windows 平台)
工欲善其事,必先利其器. 要使用 cocos2d-x 引擎,就要配置(或者安装)引擎,到 cocos2d-x 官网下载页下载引擎,官网给了2.x和3.x两个版本,我使用的是3.6的版本,3.x的版本类 ...
- 二模 (15)day1
第一题: 题目大意: 有两个长度为N的序列A和B,在A和B中各任取一个数相加可以得到N2个和,求这N2个和中最小的N个. 解题过程: 1.这题是刘汝佳<<训练指南>>上的一道经 ...
- Java正则匹配数字
包括5种形式,如测试结果 import java.util.Scanner; import java.util.regex.*; public class Com { public static vo ...
- android 分享或者调用系统或者其他app时 应注意! startActivityForResult() 使用
//判断是否有相应的Activity来接受intentPackageManager packageManager = getPackageManager();List<ResolveInfo&g ...
- WebService Ajax调用
1.Html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- WeX5 快速开发平台 V3.6 正式版发布
WeX5 V3.6 正式版核心特性:一.打包特性增强: 1- 提供多WebView选择,引入腾讯X5引擎,可自动适配移动设备环境进行切换,使通过X5打包生成的App具备更高的兼容性及更小的文件尺寸: ...
- WebView WebViewClient WebChromeClient
在android中,浏览器的功能分成几个部分,每个部分分工明确,互相协作.其中: 1. WebView :专门负责网页数据解析和渲染: 2. WebViewClient :帮助WebView处理各种请 ...