输出一个字符串
里面包含n个子序列 1337
#include<bits/stdc++.h> using namespace std; #define sc(x) scanf("%I64d",&x); #define int long long int t,n; int C[100005]; void init() { for(int i=1; i<=100000; i++) { C[i]=((i-1)*i)/2; } } signed main() { init(); sc(t); while(t--) { sc(n); if(n<=10000) { for(int i=0; i<n; i++) { putchar('1'); } putchar('3'); putchar('3'); putchar('7'); cout<<' '; } else { int x=2,y=1,i; for( i=2; C[i]<=n; i++) { x=i; } y=n-(n/C[x])*C[x]; // cout<<n<<' '<<C[x]<<' '; cout<<"133"; for(int i=0;i<y;i++){ cout<<'7'; } x-=2; for(int i=0;i<x;i++){ cout<<'3'; } cout<<'7'<<' '; } } }