zoukankan      html  css  js  c++  java
  • 网易云课堂_程序设计入门-C语言_第五周:函数_1分解质因数

    1
    分解质因数(5分)

    题目内容:

    每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。

    现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。

    输入格式:

    一个整数,范围在[2,100000]内。

    输出格式:

    形如:

    1.  n=axbxcxd

    1.  n=n

    所有的符号之间都没有空格,x是小写字母x。

    输入样例:

    1.  18

    输出样例:

    1.  18=2x3x3
    时间限制:500ms内存限制:32000kb
     
     1 #include <stdio.h>
     2 int isprime(int);
     3 int nextprime(int);
     4 main()
     5 {
     6     int i, a = 2, b, n = 0;
     7     scanf("%d", &i);
     8     if (isprime(i))
     9     {
    10         printf("%d=%d
    ", i, i);
    11     }
    12     else
    13     {
    14         printf("%d=", i);
    15         b = i;
    16         while (b > 1)
    17         {
    18             if (b%a == 0)
    19             {
    20                 if (n > 0)
    21                 {
    22                     printf("x");
    23                 }
    24                 b = b / a;
    25                 printf("%d", a);
    26                 n++;
    27             }
    28             else
    29             {
    30                 a++;
    31                 a = nextprime(a);
    32             }
    33         }
    34     }
    35 }
    36 
    37 int isprime(int i)
    38 {
    39     int a, tag = 1, b = 1;
    40     for (a = 2; a <= i / 2; a++)
    41     {
    42         tag = 1;
    43         if (i%a == 0)
    44         {
    45             tag = 0;
    46             break;
    47         }
    48     }
    49     if (tag == 1)
    50     {
    51         b = 1;
    52     }
    53     else
    54     {
    55         b = 0;
    56     }
    57     return b;
    58 }
    59 
    60 int nextprime(int a)
    61 {
    62     for (;;)
    63     {
    64         if (isprime(a))
    65         {
    66             return a;
    67         }
    68         else
    69         {
    70             a++;
    71         }
    72     }
    73 }
  • 相关阅读:
    快速排序
    Java 循环队列
    Java 用链表实现栈和队列
    Java 遍历集合时产生ConcurrentModificationException异常
    Java 使用Scanner时的NoSuchElementException异常
    Mac中安装git后,终端运行git出错,提示安装Xcode
    Java的设计模式之开篇(1)
    粒子群算法(PSO)
    mysql时间与字符串相互转换
    Jsp中使用EL表达式对字符串进行操作
  • 原文地址:https://www.cnblogs.com/denggelin/p/5395780.html
Copyright © 2011-2022 走看看