质因数分解

Home Home
引用 | 编辑 翁赐维
2010-01-24 14:47
楼主
推文 x0
以下是质因数分解的程式码

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

void prime(int,int);
int main()
{
 int x,i;
 cout << "请输入数字 : ";   
 cin >> x;
 cout << x << "=";
 
 for(i=2;i<=x;i++)            
 { 
  if(x%i == 0)
   break;
 }
 if(i == x)                //在红色部分回圈后再判断出是否为质数 
  cout << x << "^1" << endl;
 else
 {
  for(int j=x-1;j>=2;j--)  ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 k7138
2011-03-25 06:47
1楼
  
如果考试能用就方便多了

献花 x0
引用 | 编辑 csr
2011-05-27 21:36
2楼
  
一个很好地示范题
copy来研究
谢谢

献花 x0
引用 | 编辑 星辰雪
2011-05-28 23:05
3楼
  
以20来举例
会跑出以下
20=2^2*5^1

我觉得
跑出这样就可以了
20=2^2*5

复制程式
#include<stdio.h>
#include<stdlib.h>

int main(){
    int a,i,t,b[1000]={0},c;
    while(scanf("%d",&a)!=EOF){
        c=0;
   if(a%2==0){
   b[c]=2;
   for(t=0;a%2==0;t++){
   a/=2;
   }
   if(t>1) b[c+1]=t;
   c=c+2;
   }
        
        for(i=3;i<=a;i+=2){
            if(a%i==0){
   b[c]=i;
   for(t=0;a%i==0;t++){
   a/=i;
   }
   b[c+1]=t;
   c=c+2;
      }
   }
   
   for(i=0;i<=c-2;i=i+2){
   if(b[i+1]>1) printf("%d^%d",b[i],b[i+1]);
   else printf("%d",b[i]);
   if(i<=c-4)printf(" * ");
   }
        printf("\n");
 }
 return 0;
}


献花 x0
引用 | 编辑 TKCS
2011-06-05 17:04
4楼
  
不错的范例 希望可以考试时用上 表情

献花 x0