发财数 题解:
	
	- #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++;                         ...
 
 
 
 
 
 
    
        
        
 
 
 
    
 
登录后发布评论
暂无评论,来抢沙发