Debug客栈
做一个爱分享的程序猿
Debug客栈
蓝桥杯 基础练习 分解质因数

问题描述 

 求出区间[a,b]中所有整数的质因数分解。

输入格式

  输入两个整数a,b。

输出格式 

 每行输出一个数的分解,形如k=a1*a2*a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)

样例输入

3 10

样例输出

3=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5

提示  先筛出所有素数,然后再分解。

数据规模和约定  

2<=a<=b<=10000

C++算法

#include<stdio.h>
#include<iostream>
#include<string.h>
#include<string>
#include <ctype.h> 
#include <math.h>  
using namespace std; 
int factor(int n)  
{  
    int i, j = (int)sqrt(n);  
    if (n % 2 == 0) return 2;  
    for (i = 3; i <= j; i++)  
        if (n % i == 0) return i;  
    return n;  
}  
  
int main()  
{  
    int i, j, k, m, n;  
    scanf("%d%d", &m, &n);  
    for (i = m; i <= n; i++)  
    {  
        j = factor(i);  
        k = i / j;  
        printf("%d=%d", i, j);  
        while (k > 1)
        {
            j = factor(k);
            k /= j;  
            printf("*%d", j);  
        }  
        printf("\n");  
    }  
    return 0;  
}  
https://www.debuginn.cn/wp-content/uploads/2019/02/zhansang003-1024x139.jpg
赞赏
本文链接:https://www.debuginn.cn/465.html
本文采用 CC BY-NC-SA 3.0 Unported 协议进行许可,转载请保留文章链接
Debug客栈  |  Debug客栈引导页  |  Debug客栈交流群  |  赞助本站  |  博主微博  |  音乐下载器

发表评论

textsms
account_circle
email

Debug客栈

蓝桥杯 基础练习 分解质因数
问题描述   求出区间[a,b]中所有整数的质因数分解。 输入格式   输入两个整数a,b。 输出格式   每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k…
扫描二维码继续阅读
2019-01-21
文章日历
2019年七月
« 6月    
1234567
891011121314
15161718192021
22232425262728
293031  
近期评论
统计数据
  • 1
  • 24
  • 9,659
  • 4,932
  • 12
  • 305
  • 191
  • 2019年7月18日
本站存活