列表

详情


NC232627. Street Numbers

描述

有这样一个等式:

mn满足上述等式。对n从小到大排列后,输出前10对m,n即可。

提示:
第一对mn68
第二对mn3549

输入描述

没有输入

输出描述

输出将由 10 行组成,每行包含一对数字,按最后一个数字的升序排列,每行打印在宽度为 10 的字段中右对齐(如下所示)。
前两对示例输出:
         6         8         35        49 

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(g++ 7.5.0) 解法, 执行用时: 101ms, 内存消耗: 384K, 提交时间: 2022-08-16 21:15:20

#include<bits/stdc++.h>
using namespace std ;
#define ll long long
int main()
{
	int T=0 ; ll m=1 ;
	for(ll n=3;n<=100000000;++n)
	{
		ll t=n*(n+1)/2 ;
		while(m*m<t) m++ ;
		if(m*m==t)
		{
			++T ;
			printf("%10lld%10lld\n",m,n) ;
			if(T==10) break ;
		}
	}
	return 0 ;
}

C++ 解法, 执行用时: 3ms, 内存消耗: 284K, 提交时间: 2022-07-11 16:36:51

#include<bits/stdc++.h>
using namespace std;
int main(){
    int x1=3,y1=1,d=8;
    int x=17,y=6;
    for(int i=1;i<=10;++i){
        printf("%10d%10d\n",y,(x-1)/2);
        int nx=(x1*x+d*y1*y),ny=(x1*y+x*y1);
        x=nx,y=ny;
    }
    return 0;
}

PHP 解法, 执行用时: 8ms, 内存消耗: 10380K, 提交时间: 2023-08-12 17:35:47

         6         8
        35        49
       204       288
      1189      1681
      6930      9800
     40391     57121
    235416    332928
   1372105   1940449
   7997214  11309768
  46611179  65918161

上一题