[boj](b 1)1193検索スコア
インプリメンテーション
質問する
交差点に移動するため、Xはいくつかの対角線に含まれる計算方法が異なります.->Xを求めて第数本の対角線(i)の中で含みます.
求めた対角線(i)が単数であるか偶数であるかによって,異なる計算方式で点数を求める.
コード#コード#
質問する
リンク
に答える
無限大の配列であるため,単純に2次元配列に点数を置いてX番目の点数を探すことはできない.したがって,X値で点数を求める関数を実現しなければならない.
無限大の配列であるため,単純に2次元配列に点数を置いてX番目の点数を探すことはできない.したがって,X値で点数を求める関数を実現しなければならない.
交差点に移動するため、Xはいくつかの対角線に含まれる計算方法が異なります.->Xを求めて第数本の対角線(i)の中で含みます.
求めた対角線(i)が単数であるか偶数であるかによって,異なる計算方式で点数を求める.
コード#コード# #include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int X, i, num = 0, a, b; // a: 분자, b: 분모
cin >> X;
for (i = 1;; i++)
{
num += i;
if (X <= num)
break;
}
if (i % 2 == 0)
{
a = 1;
b = i;
for (int j = 0; j < X - (num - (i - 1)); j++)
{
a++;
b--;
}
}
else
{
a = i;
b = 1;
for (int j = 0; j < X - (num - (i - 1)); j++)
{
a--;
b++;
}
}
cout << a << "/" << b << "\n";
return 0;
}
Reference
この問題について([boj](b 1)1193検索スコア), 我々は、より多くの情報をここで見つけました
https://velog.io/@peanut_/boj-b1-1193-분수찾기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int X, i, num = 0, a, b; // a: 분자, b: 분모
cin >> X;
for (i = 1;; i++)
{
num += i;
if (X <= num)
break;
}
if (i % 2 == 0)
{
a = 1;
b = i;
for (int j = 0; j < X - (num - (i - 1)); j++)
{
a++;
b--;
}
}
else
{
a = i;
b = 1;
for (int j = 0; j < X - (num - (i - 1)); j++)
{
a--;
b++;
}
}
cout << a << "/" << b << "\n";
return 0;
}
Reference
この問題について([boj](b 1)1193検索スコア), 我々は、より多くの情報をここで見つけました https://velog.io/@peanut_/boj-b1-1193-분수찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol