2.2.2 分解質(zhì)因數(shù)指數(shù)形式
對;輸入的整數(shù)分解質(zhì)因數(shù),如果有相同的素因子要求寫成指數(shù)形式,例如分解1960,寫成1960=23*5*72
算法分析如下:
在以上程序的基礎(chǔ)上,需作一些變通:引入變量j統(tǒng)計(jì)素因子的個數(shù),j=1時不打印指數(shù),j>1時需加印指數(shù)(^j)。這樣程序須設(shè)置相應(yīng)指數(shù)的判別操作。
程序代碼如下:
程序運(yùn)行結(jié)果如下:
#include
#include
void main()
{
long int b,i,j,k,m,n,w=0;
printf("m--n中整數(shù)分解.\n");
printf("請輸入m,n:");
scanf("%ld,%ld",&m,&n);
for(i=m;i<=n;i++)
{
printf("%ld= ",i);
b=i;k=2;j=0;
while(k<=sqrt(i))
{
if(b%k==0)
{
b=b/k;j++;continue;}
if(j>=1)
{
printf("%ld",k);
if(j>1)printf("^%ld",j);
if(b>1)printf("*");
}
k++;j=0;
}
if(b>1&&b if(b==i){printf("(素?cái)?shù)!)"); w++;}
printf("\n");
}
printf("其中共%ld個素?cái)?shù).\n",w);
}
對;輸入的整數(shù)分解質(zhì)因數(shù),如果有相同的素因子要求寫成指數(shù)形式,例如分解1960,寫成1960=23*5*72
算法分析如下:
在以上程序的基礎(chǔ)上,需作一些變通:引入變量j統(tǒng)計(jì)素因子的個數(shù),j=1時不打印指數(shù),j>1時需加印指數(shù)(^j)。這樣程序須設(shè)置相應(yīng)指數(shù)的判別操作。
程序代碼如下:
程序運(yùn)行結(jié)果如下:
#include
#include
void main()
{
long int b,i,j,k,m,n,w=0;
printf("m--n中整數(shù)分解.\n");
printf("請輸入m,n:");
scanf("%ld,%ld",&m,&n);
for(i=m;i<=n;i++)
{
printf("%ld= ",i);
b=i;k=2;j=0;
while(k<=sqrt(i))
{
if(b%k==0)
{
b=b/k;j++;continue;}
if(j>=1)
{
printf("%ld",k);
if(j>1)printf("^%ld",j);
if(b>1)printf("*");
}
k++;j=0;
}
if(b>1&&b if(b==i){printf("(素?cái)?shù)!)"); w++;}
printf("\n");
}
printf("其中共%ld個素?cái)?shù).\n",w);
}