阿壮博客阿壮博客阿壮博客

在线分解质因数软件

一、特点:可随意分解超大数。

2.计算结果显示:(4位整数存储在数组的一个模块中)

三、C语言编程如下:

//分解超大数4(每个模块存储4位整数)

#include ///输入输出头函数

#include //字符串头函数

#include ///数学头函数

#include //日期时间头函数

#define N 50 ///数组大小

main ()

{ unsigned bz[N*4]={},b[N]={},c[N]={0,2},s[N]={},y[N*2]={},xj; //被除数b、除数c、商s、余数y、新积xj

int i,k,x,lbz,lb,lcz=1,lc=1; ///循环变量i,k,x;除数总位数lbz外,单位数lbz;除数总位数lcz,单位数lcz

int jw,ss,l,g=0,jr=0; //进位jw,试商ss,积累单元数l,质量数g,进入指示jr

int lc1、lc1、lc2、b5、q,c3=2; //lb1=lb-1,lc1=lc-1,lc2=lcz*2-1,除数前5位B5及其平方根q,除数前三位C3(本行变量均为提高启动速度)

int z[50]={2,3,5,7,11,13,17,19,23,29,31,37,43,47,59,61,71,71,

73.79、83、89、97、101、103、109、1137、137、139、151、157、163、107、109、107、107、109、1137、137、137、137、139、157、157、157、167、167、137、137、137、137、137、137、137、137、137、137、137、137、137、13、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、137、157、157、157、157、157、157、157、167、167、167、167、167、167、167、167、167、167、167、167、167、167、167、167、167、167、167、167、167、107、107、107、107、107、107、107、107、107、107、1、1、17、1、107、107、107、107、107、107、107、107、1、1、107、1、1、1、107、1、1、107、107、107、107、107、107、107、107、1、107、107、107、1、1、1、1、1、1、1、107、1、1、107、107、107、107、107、1、1、107、107、1

173、179、181、191、197、199、211、2227、229}; //预付低于231的质量z(因231=3*7*11)

char bc[N]; //被除数串bc

//输入及转换:

printf(“请继续输入分解数:”);gets(bc);

float t0=clock(); ///计时开始

lbz=strlen(bc)-1; i=lb=lbz/4 1; //求被算术:总位数lbz,单位数lbz

for(x=lbz;x>=0;x–) //被算术字符串转换为整数

{ b[i]=b[i]*10 bc[lbz-x]-48;

if(x%4==0) {i–;} ///每个模块存储4位整数

}

// 开始分解:

lbz ;printf(” = 1″);

while (lcz<=lbz)

{ lc2=lcz*2-1; 2倍lc2/除数位数

// A.未分解,继续分解:

if(lc2

{ lbz=lb*4; lb1=lb-1; b5=b[lb]*10000 b[lb1];//a.被除数总位数lbz及其前5位b5:

if(b[lb]>=1000) {b5=b[lb]*10 b[lb1]/1000;}

else if(b[lb]>=100) {lbz–;b5=b[lb]*100 b[lb1]/100;}

else if(b[lb]>=10) {lbz-=2;b5=b[lb]*1000 b[lb1]/10;}

else {lbz-=3;b5=b[lb]*10000 b[lb1];}

q=sqrt(b5 1); lc1=lc-1; //b.被除数前五名算术根qq

for(x=1;x<=lb;x ) {y[x]=b[x];} // c.开始做除法:

for(i=lb;i>=lc;i–)

{ y[i] =y[i 1]*10000;y[i 1]=0; s[i]=0;

while(y[i]>c[lc])

{ if(y[i]>=214748) ss=y[i]/(c[lc] 1);

else ss=(y[i]*10000 y[i-1])/(c[lc]*10000 c[lc1] 1);

if(ss==0) ss=1;

jw=0;s[i] =ss;

for(k=1;k<=lc1;k )

{ xj=c[k]*ss jw;

if(xj<=9999)jw=0; else{jw=xj/10000;xj%=10000;}

l=k i-lc;

if(y[l]

y[l]-=xj;

}

xj=c[lc]*ss jw;

y[i]-=xj;

}

}

while(y[lc]>=c[lc]) //d.确定是否已完成:

{ for(x=lc;x>=1;x–)

{ if(y[x]>c[x]) break; /1.余数大的再去减一次

if(y[x]

}

s[lc] ; //3.余数 >= 除数,再减一次

for(x=1;x<=lc1;x )

{ if(y[x]

y[x]-=c[x];

}

y[lc]-=c[lc];

}

tc:

// e.判断余数是否为0:

for(x=lc;x>=1;x–)

{ if(y[x]!=0) break;}

if(x!=0) // 1.余数 != 0时,求新除数:

{ if(jr!=0) // 1) 除数超过预存质数组范围的,除数加2:

{ c[1] =2; g ;

if(g#1!=0) // (1)绕过3、5、7、11倍率(因231=3*7*11):

{ while((g%3=0|c[1]5=0|g%7=0|==0)==1)

{ g ;c[1] =2; }

}

else {g=1;c[1] =2;} // (2)直接加2

if(c[1]>=10000) //(3)求除数的每个模块:

{ c[2] ;c[1]-=10000;

for(x=2;x<=lc;x ) { if(c[x]>=10000){c[x 1] ;c[x]-=10000;} }

if(c[lc 1]>=1) lc ;

lcz=lc*4; lc1=lc-1;//取除前三位数c33:

if(c[lc]>=1000) {c3=c[lc]/10;}

else if(c[lc]>=100) {lcz–;c3=c[lc];}

else if(c[lc]>=10) {lcz-=2;c3=c[lc]*10 c[lc1]/1000;}

else {lcz-=3;c3=c[lc]*100 c[lc1]/100;}

}

}

else // 2)除数在预付质数范围内,直接读取:

{ c[1]=z[g];g ;

if(g==50){jr=1;g=1;c[1]=233;}

lcz=log10(c[1]) 1; //求除数位数lc并取整数位数

}

}

// 2.余数 =0时:

else

{ printf(“*%d”,c[lc]); // 1)导出因素:

for(x=lc1;x>=1;x–) printf(” d”,c[x]);

for(x=lc;x<=lb1;x ) // 2)处理商进位:

{ if(s[x]>=10000) {s[x 1] ;s[x]-=10000;}

}

if(s[lb]==0) lb–; // 3)将商业变为被除数:

for(x=lc;x<=lb;x ) {b[x-lc1]=s[x];}

lb-=lc1;

}

}

// B.分解后,导出最终因素:

else

{ printf(“*%d”,b[lb]); // 导出首模块

for(x=lb1;x>=1;x–) printf(” d”,b[x]); //导出剩余单元(每4位为1模块,前面不到4位补0)

break;

}

}

printf(“n耗时%.6f秒”,(clock()-t0)/1000); ///导出运行时间

return 0;

}

1.文章《在线分解质因数软件》援引自互联网,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删举报等反馈请点击此处

2.文章《在线分解质因数软件》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://100248.com/baike/304691.html

相关推荐

清明节假期交通安全 清明节交通安全手抄报

清明节假期交通安全文章你走,他走,大家走,安全意识心中有;你让,他让,大家让,安全行路有保障。下面给大家分享一些关于清明节假期交通安全文章,

幼儿游玩交通安全 幼儿交通安全儿歌

幼儿游玩交通安全知识行走时要专心,注意周围情况,不要东张西望、边走边看书报或做其他事情,保障交通安全。下面给大家分享一些关于幼儿游玩交通安全

行车安全知识总结 驾驶员行车安全培训总结

2023行车安全知识总结同学们上学和放学的时候,正是一天中道路交通最拥挤的时候,人多车辆多,必须十分注意交通安全。下面给大家分享一些关于20

节假日游玩交通安全 节假日交通安全宣传标语

节假日游玩交通安全知识交通安全系万家,违法驾驶危害大。遵规守法谨慎行,家庭温馨需要它!下面给大家分享一些关于节假日游玩交通安全知识,希望能够

2023车辆行驶安全知识 游戏安全知识答题2023

2023车辆行驶安全知识分享交通安全很重要,遵规驾驶有速度,珍惜生命是成熟的思考表现,出入平安是最佳的日常。下面给大家分享一些关于2023车

五一交通安全提示

五一交通安全提示模板忠诚地守卫交通安全,一天又一天,执著地追逐幸福,一年又一年,交通安全知识平安大家。下面给大家分享一些关于五一交通安全提示

学生交通安全教育 学生交通安全教育心得体会

最新学生交通安全教育在道路上行走,要走人行道,没有人行道的道路,要靠路边行走,这是能最大程度保证交通安全的做法。下面给大家分享一些关于最新学

三月出行交通安全 交通安全出行歌

三月出行交通安全提醒要让爱车跑,车况要良好;开车别太快,系好安全带;出门要提前,堵车心不烦,交通安全要记牢。下面给大家分享一些关于三月出行交