智商题。
其实大家都想到了13..37
的形式,但是我当时就一心想着要质因数分解分解成$\frac{k(k-1)}{2}$的形式……
所以其实我们把剩下的7
放到开头的133
后面就好了,即13377..73333..37
。
#include <cmath>
#include <cstdio>
#include <iostream>
using namespace std ;
int N, T, L1, L2 ;
int main(){
cin >> T ;
while (T --){
cin >> N ; int p = sqrt(2*N);
for (int i = p ; i <= 2*N ; ++ i){
if (i * (i - 1) > 2 * N) break ;
L1 = i * (i - 1) / 2, L2 = N - L1, L1 = i ;
}
printf("133") ;
for (int i = 1 ; i <= L2 ; ++ i) putchar('7') ;
for (int i = 1 ; i <= L1 - 2 ; ++ i) putchar('3') ;
printf("7\n") ;
}
}