zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    10.21
    ROS的安装和卸载
    Ubuntu下的终端多标签切换快捷键
    Windows Live Wirter
    ubuntu解压和压缩文件
    Ubuntu更改源和搜狗输入法安装卸载
    PyTorch--常用的工具
    PyTorch--神经网络工具箱nn
    Pytorch--autograd
    PyTorch--Tensor
  • 原文地址:https://www.cnblogs.com/gongxijun/p/3245440.html
Copyright © 2011-2022 走看看