文章

7

粉丝

142

获赞

5

访问

5.2k

头像
发财数 题解:
P1489 北京邮电大学2018年机试题
发布于2024年1月18日 10:47
阅读数 955

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


登录后发布评论

暂无评论,来抢沙发