1 solutions
-
0
#include<bits/stdc++.h> using namespace std; /* 依次判断x ~ y之间每个数是否符合条件, 其中判断一个整数是否各个位不同, 可以采用短除法拆出这个数的各个位, 并用数组计数法统计每一位出现的次数 */ //判断某个数是否是7位数,且各个位不相等 bool fun(int n){ if(n < 1000000 || n > 9999999) return false; //判断n各个位互不相等 //数组计数法,统计n的各个位出现的次数 int a[20] = {0}; while(n != 0){ a[n % 10]++; n = n / 10; } //判断是否有某个数出现了不止1次 for(int i = 0; i <= 9; i++){ if(a[i] > 1) return false; } return true; } int main() { int x, y; cin >> x >> y; for(int i = x; i <= y; i++){ if(fun(i*i)) cout << i <<endl; } return 0; }
- 1
Information
- ID
- 458
- Time
- 1000ms
- Memory
- 64MiB
- Difficulty
- 9
- Tags
- # Submissions
- 10
- Accepted
- 6
- Uploaded By