• HDUOJ----Eddy's research I


    Eddy's research I

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 5050    Accepted Submission(s): 3027


    Problem Description
    Eddy's interest is very extensive, recently he is interested in prime number. Eddy discover the all number owned can be divided into the multiply of prime number, but he can't write program, so Eddy has to ask intelligent you to help him, he asks you to write a program which can do the number to divided into the multiply of prime number factor .

     
    Input
    The input will contain a number 1 < x<= 65535 per line representing the number of elements of the set.
     
    Output
    You have to print a line in the output for each entry with the answer to the previous question.
     
    Sample Input
    11 9412
     
    Sample Output
    11 2*2*13*181
     
    Author
    eddy
     
    Recommend
    JGShining
    两种做法:
    代码:
     1 #include<iostream>
     2 using namespace std;
     3 const int maxn=65540;
     4 int arr[maxn]={2,3,5,7};
     5 void  prime()
     6 {
     7     bool flag;
     8     int k=4;
     9     for(int i=11;i<maxn;i++)
    10     {
    11         flag=true;
    12      for(int j=2;j*j<=i;j++)
    13      {
    14          if(i%j==0)
    15          {
    16            flag=false;
    17          }
    18      }
    19      if(flag)arr[k++]=i;
    20     }
    21 }
    22 int main()
    23 {
    24   int n,count;
    25   prime();
    26  while(cin>>n)
    27  {
    28      count=0;
    29  while(n!=1)
    30  {
    31     for(int i=0;n!=1;i++)
    32     { 
    33       if(n%arr[i]==0)
    34       {
    35           if(count++==0)
    36           cout<<arr[i];
    37           else
    38             cout<<"*"<<arr[i];
    39           n/=arr[i];
    40           break;
    41       }
    42     }
    43  }
    44  cout<<endl;
    45  }
    46 return 0;
    47 }
    View Code

    代码:

     1 #include<stdio.h>
     2 void show(int a)
     3 {
     4     int i=1,n=0;
     5     while(i<=a&&a!=1)
     6     {
     7         i++;
     8        while(a%i==0)
     9        {
    10           a/=i;  n+=1;
    11           printf(n==1?"%d":"*%d",i);
    12        }
    13 
    14     }
    15     puts("");
    16 
    17 }
    18 int main()
    19 {
    20     int x;
    21  while(scanf("%d",&x)!=EOF)
    22  show(x);
    23  return 0 ;
    24 }
    View Code
  • 相关阅读:
    作业三:模拟 mysql 进行增删改查
    作业一:购物车程序
    作业一:登陆接口
    python输出带颜色详解
    浅谈面向对象开发原则:高内聚,低耦合
    DIV+CSS命名规范
    ModelSim 仿真教程
    [HDL]除法器的设计与仿真(转)
    ModelSim中Altera仿真库的添加(转)
    PictureBox中的Image对象(或者图片)转存到数据库
  • 原文地址:https://www.cnblogs.com/gongxijun/p/3245440.html
Copyright © 2020-2023  润新知