#include stdio.h
成都創(chuàng)新互聯(lián)公司不只是一家網(wǎng)站建設的網(wǎng)絡公司;我們對營銷、技術、服務都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關注我們的成都網(wǎng)站設計、做網(wǎng)站質(zhì)量和服務品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術創(chuàng)新,服務升級,滿足企業(yè)一站式全網(wǎng)營銷推廣需求,讓再小的成都品牌網(wǎng)站建設也能產(chǎn)生價值!
# include stdlib.h
#define N 100
long factor(int m,int fac[],int *cp){
int c1,c2,i,k;
long s;
fac[0]=1;
for(c1=s=1,c2=N-1,i=2;;){
k=m/i;
if(m%i==0){
if(i!=k){
fac[c1++]=i;
fac[c2--]=k;
s+=i+k;
printf("i=%d k=%d\n",i,k);
}else{
fac[c1++]=i;
s+=i;
}
}
i++;
if(i=k) break;//這個時候k已經(jīng)開始等于自身的根號,或者將要出現(xiàn)和之前k對稱的i,引起自身重復故退出
}
for(c2++;c2=N-1;c2++){
fac[c1++]=fac[c2];
printf("%s %d\n","**",fac[c2]);
}
*cp=c1;
return s;
}
int main(int argc, char const *argv[])
{
/* code */
int factors[N],i,count;
long sum;
sum = factor(atoi(argv[1]),factors,count);
for(i=0;icount;i++){
printf("%5d",factors[i]);
}
printf("\n\n");
printf("sum=%5ld? count=%5d\n",sum,count);?
return 0;
}
擴展資料:
有一種說法是“因子不限正負”,不過通常情況下只取正因子。
1, -1, n 和 -n 這些數(shù)叫做 n 的明顯因子
表示方法:可以用因子|倍數(shù)或倍數(shù)≡0 (mod 因子) 來表達(參見同余),但用后者時因子一定要是正因子。因子∣倍數(shù)?式中的垂直線是整除符號。它的統(tǒng)一碼值是 U+2223。
例如 42=6x7,因此 7 是 42 的因子,寫作 7∣42,亦是42≡0(mod 7)。
#include stdio.h
void factor(int n)
{for(int i=1;i=n/2;i++)
if(n%i==0)printf("%d ",i);
printf("%d\n",n);
}
int main( )
{int n;
scanf("%d",n);
factor(n);
return 0;
}
#include
"stdio.h"
int
main()
{
int
x,i;
scanf("%d",x);//輸入一個整數(shù)
for(i=1;i=x;++i)
{
if(x%i==0)
printf("%d\n",i);//輸出因子
}
return
0;
}
這樣就OK了~~不明白的話就問我