您的位置:首页 > 编程语言 > C语言/C++

UVa 10161: Ant on a Chessboard

2013-08-03 13:25 465 查看
很简单的一题找规律题。

我的解题代码如下:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <string>
#include <algorithm>

using namespace std;

int main()
{
int N;
while(cin >> N && N!=0)
{
int level = floor(sqrt(double(N-1)))+1;
int middle = (level-1)*(level-1)+level;
// cout << "level: " << level << " middle: " << middle << endl;
if(level%2)
{
if(N<middle) cout << level << ' ' << level+N-middle << endl;
else cout << level-N+middle << ' ' << level << endl;
}
else
{
if(N<middle) cout << level+N-middle << ' ' << level << endl;
else cout << level << ' ' << level-N+middle << endl;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UVa c++ 杂题