- /********************************************************************************
- 74. (NOI'95.1_5) m、n为整数,且满足下列两个条件:
- ① m、n∈{1, 2, …, k}, (1≤k≤109)
- ② (n^2-m*n-m^2)^2=1
- 编一程序, 由键盘输入k, 求一组满足上述两个条件的 m、n, 并且使m^2+n^2
- 的值最大.
- 例如, 若 k=1995, 则 m=987, n=1597 时, 则 m、n 满足条件, 且可使
- m^2+n^2的值最大.
- 由①,② n^2 - m^2 = m*n + 1 或 n^2 - m^2 = m*n - 1
- 得 n>=m
- *******************************************************************************/
- #include <stdio.h>
- void main()
- {
- int k;
- int m,n;
- printf("请输入k的值:");
- scanf("%d", &k);
- for(n=k; n>=1; n--)
- for(m=n; m>=1; m--)
- {
- if(n*n-m*(m+n)==1 || n*n-m*(m+n)==-1)
- {
- printf("m = %d n = %d/n",m,n);
- return;
- }
- }
- }
练习74
最新推荐文章于 2022-06-10 23:23:13 发布