zoukankan      html  css  js  c++  java
  • 数学:分解质因数

    这份代码在ACM中不可用

    对于一个将要分解的数,我们从小到大枚举它可能被分解出来的每一个因子,从小到大枚举,这样就可以保证在分解出大的因子之前,所有的小的因子全部被除完,从而保证最终所有的因子一定是质数。

    虽然分解质因数本身没有进行质数判断,但是还是求出了质因数。。哈哈

    while(n!=1)
            {
                for(int i=2;i<=n;i++)
                {
                    if(n%i==0)
                    {
                        n/=i;
                        printf("%d",i);
                        if(n!=1)printf("*");
                            break;
                    }
                }
            }

    通过代码可以看到,我们每分解出来一个因子之后,还是从最小的2继续枚举,从而保证分解的顺利进行,2被一个一个剔出来,全部剔完了之后就该剔3了。

    完整的代码如下,T组数据每组数据一个n,对n进行分解质因数。

     1 #include <cstdio>
     2 #include<iostream>
     3 using namespace std;
     4 int n;
     5 int T;
     6 int main()
     7 {
     8     cin>>T;
     9     while(T--)
    10     {
    11         scanf("%d",&n);
    12         //printf("%d=",n);
    13         while(n!=1)
    14         {
    15             for(int i=2;i<=n;i++)
    16             {
    17                 if(n%i==0)
    18                 {
    19                     n/=i;
    20                     printf("%d",i);
    21                     if(n!=1)printf("*");
    22                         break;
    23                 }
    24             }
    25         }
    26         cout<<endl;
    27     }
    28     return 0;
    29 }
  • 相关阅读:
    slice()与splice()
    apply和call函数
    参数arguments
    获取用户当前位置并设为中心点
    数组中元素为对象形式的去重
    判断浏览器环境(微信、支付宝)
    h5车牌号输入键盘
    点击事件的延迟
    jQuery修改伪元素
    webSocket认识
  • 原文地址:https://www.cnblogs.com/aininot260/p/9270842.html
Copyright © 2011-2022 走看看