zoukankan      html  css  js  c++  java
  • 进阶实验2-3.4 素因子分解 (20分)

    给定某个正整数 N,求其素因子分解结果,即给出其因式分解表达式 N=p1​​k1​​​​p2​​k2​​​​pm​​km​​​​。

    输入格式:

    输入long int范围内的正整数 N。

    输出格式:

    按给定格式输出N的素因式分解表达式,即 N=p1^k1*p2^k2*…*pm^km,其中pi为素因子并要求由小到大输出,指数kipi的个数;当ki为1即因子pi只有一个时不输出ki

    输入样例:

    1323
    
     

    输出样例:

    1323=3^3*7^2

    代码:
    #include <cstdio>
    #include <iostream>
    #define inf 0x3f3f3f3f
    using namespace std;
    
    bool ispri(int k) {
        if(k <= 1) return false;
        if(k <= 3) return true;
        if(k % 6 != 1 && k % 6 != 5) return false;
        for(int i = 5;i < k / i;i += 6) {
            if(k % i == 0 || k % (i + 2) == 0) return false;
        }
        return true;
    }
    
    int main() {
        int n,flag = 0;
        scanf("%d",&n);
        printf("%d=",n);
        if(n == 1) printf("1");
        for(int i = 2;i <= n;i ++) {
            if(!ispri(i) || n % i) continue;
            int c = 0;
            while(n != 1 && n % i == 0) {
                c ++;
                n /= i;
            }
            if(flag) printf("*");
            else flag = 1;
            if(c > 1) printf("%d^%d",i,c);
            else printf("%d",i);
        }
        return 0;
    }
  • 相关阅读:
    hive默认配置 .hiverc
    hive 行列转换
    hive 全表全字段对比
    shell 获取hive表结构
    粘包现象与解决方案
    win 关闭正在使用的端口
    pycharm格式报错: Remove redundant parentheses
    博客系统作业
    django中间件
    django的用户认证组件
  • 原文地址:https://www.cnblogs.com/8023spz/p/12307973.html
Copyright © 2011-2022 走看看