Official
D - Measure Editorial
by
D - Measure Editorial
by
leaf1415
本問題に正解するには、問題文中にある通りに各 \(i = 0, 1, 2, \ldots, N\) について \(s_i\) を求め、答えとなる文字列 \(s_0s_1\ldots s_N\) を構成すれば良いです。
\(i = 0, 1, 2, \ldots, N\) のそれぞれについて処理を行うことや、\(j\) の候補として \(1\) から \(9\) の整数それぞれを調べることには、プログラミング言語の標準的な機能である繰り返しの機能( for 文など)を用いることができます。
以下に、C++ 言語による正解例を記載します。
#include <iostream>
using namespace std;
int main(void)
{
int n;
cin >> n;
string s;
for(int i = 0; i <= n; i++){
s += "-";
for(int j = 1; j <= 9; j++){
if(n % j == 0 && i % (n/j) == 0){
s[i] = j + '0';
break;
}
}
}
cout << s << endl;
return 0;
}
posted:
last update: