发财数 题解:
- #include<iostream>
- #include<vector>
- using namespace std;
- vector<int> fc; //用来保存发财数
- int main(){
- int a;
- cin >>a;
- int b;
- fc.push_back(256);
- int totol=1;
- while(a--){
- cin>>b;
- int y,count=0; //count表示y的质因数数量
- int x;
- for(x=fc.back()+1;b>totol;x++){ //从小到大逐个判断x,本质就是判断x能否分解为8个及以上的质因数相乘
- count =0;
- y=x;
- for(int i=2;i*i<=y&&count<8;){ //判断y是否为素数,不是素数且质因数小于8个则循环,是素数则结束循环
- if(y%i==0){
- y/=i;
- count++;
- }
- else i++; ...
登录后发布评论
暂无评论,来抢沙发