ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基础练习 分解质因数

2020-03-25 18:55:31  阅读:169  来源: 互联网

标签:输出 25 int 练习 整数 a1 分解 质因数 输入


问题描述   求出区间[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
 1 /*
 2 2020年3月25日18:02:10
 3 蓝桥杯习题
 4 问题描述
 5   求出区间[a,b]中所有整数的质因数分解。
 6 输入格式
 7   输入两个整数a,b。
 8 输出格式
 9   每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)
10 样例输入
11 3 10
12 样例输出
13 3=3
14 4=2*2
15 5=5
16 6=2*3
17 7=7
18 8=2*2*2
19 9=3*3
20 10=2*5
21 提示
22   先筛出所有素数,然后再分解。
23 数据规模和约定
24   2<=a<=b<=10000 
25 */
26 
27 #include<iostream>
28 #include<cmath>
29 using namespace std;
30 
31 int fun(int n)
32 {
33     int m;
34     m = (int)sqrt(n);
35     int i;
36     for(i = 2; i <= m; i++)
37     {
38         if(n % i == 0)
39         return i;
40     }
41     return n;
42 }
43 
44 int main()
45 {
46     int a,b;
47     while(cin >> a >> b)
48     {
49         int i , k;
50         for(i = a; i <= b; i++)
51         {
52             int j = fun(i);
53             k = i / j;
54             cout << i << '=' << j;
55             while(k > 1)
56             {
57                 j = fun(k);
58                 k = k / j;
59                 cout << '*' << j;
60             }
61             cout << endl;
62         }
63     }
64     return 0;
65 }

网上大佬做法真的服了!

/*2020年3月25日18:08:39 
判断素数
输入一个整数
输出是否 
*/

#include<iostream>
#include<cmath>
using namespace std;

int isPrime(int n)
{
    int m;
    m = (int)sqrt(n);
    int i;
    for(i = 2; i <= m; i++)
    {
        if(n % i == 0)
        break;
    }
    //如果i全部不能被n整除,i就变成m+1,所以要判断i是否大于m
    if(i > m)
    return 1;
    else
    return 0; 
}

int main()
{
    int num;
    while(cin >> num)
    {
        if(isPrime(num))
        cout << num << "是素数!" << endl;
        else
        cout << num << "不是素数!" << endl;
    }
    return 0;
 } 

我这条咸鱼终于把素数判断弄懂了。

标签:输出,25,int,练习,整数,a1,分解,质因数,输入
来源: https://www.cnblogs.com/wlyperfect/p/12568585.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有