Official
		
			
				C - Measure Editorial
			
			by 
		
		
		
			
		
		
			
	
			
				C - Measure Editorial
			
			by  leaf1415
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:
				
			
