1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int f[11110000];//f[i]表示i在l~r进制中是多少重 int len(int x, int d) { if(x==0) return 1; int t=0;while(x>0)x=x/d,t++; return t; } int main() { int l, r, x, y, k;scanf("%d%d%d%d%d", &l, &r, &x, &y, &k); memset(f, 0, sizeof(f)); for(int i=l;i<=r;i++) { int L1=len(x,i), L2=len(y,i); for(int a1=1;a1<i;a1++)for(int a2=0;a2<i;a2++)if(a1!=a2)//枚举a[1]和a[2] for(int L=L1;L<=L2;L++) { int s=0;for(int Li=1;Li<=L;Li++)s=s*i+(Li&1?a1:a2); if(s<=y)f[ s ]++; } } for(int i=x;i<=y;i++) if(f[i]==k) printf("%d\n",i); return 0; }
- 1
信息
- ID
- 858
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 107
- 已通过
- 40
- 上传者