一个正整数如果能表示成了两个正整数的平方差,则称这个数为“智慧数”,比如16就等于5的平方减去3的平方,所以16就是一个智慧数,从1开始的自然数列中,将“智慧数”从小到大编号为1,2,3,„„,n。现输入一个正整数n,输出第n个“智慧数”。
输出
仅包含一个正整数,表示编号为 n 的智慧数。
样例输入
复制样例数据
3
样例输出
7
直接打表
#include <iostream> #include <algorithm> using namespace std; int a[]; int main() { int i,j; int k=0; for(i=2;i<=250;i++){ for(j=i-1;j>=1;j--) a[k++]=i*i-j*j; } sort(a,a+k); for(i=0;i<k;i++){ printf("%d\n",a[i]); } return 0; }
讯享网
代码
讯享网#include <iostream> #include <algorithm> using namespace std; int a[150]={3,5,7,8,9,11,12,13,15,16, 17 ,19,20,21,23,24,25,27,28,29,31,32, 33,35,36,37,39,40,41,43,44,45,47,48,49, 51,52,53,55,56,57,59,60,61,63,64,65,67, 68,69,71,72,73,75,76,77,79,80,81,83,84,85, 87,88,89,91,92,93,95,96,97,99,100,101,103, 104,105,107,108,109,111,112,113,115,116,117,119, 120,121,123,124,125,127,128,129,131,132,133,135,136,137, 139,140,141,143,144,145,147,148,149,151,152,153,155,156, 157,159,160}; int main() { int n; cin>>n; cout<<a[n-1]<<endl; return 0; }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/23880.html