當前位置:首頁 » 編程語言 » c語言求因子

c語言求因子

發布時間: 2022-01-09 19:47:10

c語言,求完數因子

#include<stdio.h>inta[110];intmain(){intsum=0,i,n,j,sizes;printf("輸入一個數:");scanf("%d",&n);for(i=1;i<=n;i++){sum=0,sizes=0;for(j=1;j<i;j++){if(i%j==0){sum+=j;a[++sizes]=j;}}if(sum==i){printf("%disfactorsare:",i);for(j=1;j<=sizes;j++)printf(j==sizes?"%d. ":"%d,",a[j]);}}return0;}

開個數組儲存一下因子即可。

❷ C語言,求一個整數的所有質因子。。謝謝大神,我是C語言小白。。

測試結果:

請輸入一個數N,N的所有質數因子:
520
2 5 13

源代碼:
#include "stdio.h"
#include "conio.h"
int isShuShu(int n)
{
int i;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
main()
{
int i;
int n=0;
printf("請輸入一個數N,N的所有質數因子:\n");
scanf("%d",&n);
for(i=2;i<=n/2;i++)
{
if(n%i==0&&isShuShu(i))
{
printf("%3d ",i);
}
}
getch();
}

思路:
一個函數isShuSHU()用來判斷給定 的數是否是素數
從1到n的一般,一個一個排查,看那些數能整除N,且是素數。輸出即可

❸ C語言 編程求一個自然數m的所有素數因子

1、從最小的因子找起(能找到的最小因子,肯定是素數);
2、找到素因子q後,m反復除以q直至不能整除;
3、重復1、2步驟,直至q==m。

❹ 用C語言輸出 一個整數的所有因子

main() {
int x,i;
printf("請輸入一個整數:");
scanf("%d",&x);
printf("%d的因子有:", x);
for(i=1;i<=x/2;i++)
if(x%i==0)
printf("%d ",i);
printf("\n");
}

❺ c語言求素因子

#include<stdio.h>
#include<math.h>
voidmain()
{
intx,i,j;
doublem;
printf("請輸入一個數");
scanf("%d",&x);
if(x%2==0)printf("2 ");
for(i=3;i<=x;i+=2)
{
if(x%i==0)
{
if(i==3||i==5||i==7)printf("%d ",i);
else
{
m=sqrt(i);
for(j=3;j<=m;j++)///為什麼是+2呢?改為++
{
if(i%j==0)///這里是找到一個因子break
break;
}
if(j>m)///是素數輸出
printf("%d ",i);
}
}

}
}

❻ C語言,求函數因子

一開始定義int m=0沒必要,就是m就可以了。
循環中要定義m=0,這樣,對於每一個i,m最終都得到i因子的和,然後將m與i比較,如果相等,則i是完數,輸出完數i。對於下一個i,m=0的作用是將m及時恢復0,這樣才能得到i因子的和,否則就是對於各個i,m的值一直累加了。

❼ c語言編程:求一個數的質因子

#include<stdio.h>
intmain()
{
inti,j,a[999999],x,y;
scanf("%d",&x);//讀取
y=x;
for(i=2,j=0;i<=x;i++)//遍歷質因數
{
if(x%i==0)//如果讀取的數能夠被質因數整除
{
a[j]=i;//將符合條件的質因數存到數組中
j++;//數組下標遞增
x/=i;//重新賦值
i=2;//重新遍歷
}
}
printf("%d=%d",y,a[0]);//輸出原數、等號、第一個質因數
for(i=1;i<j;i++)
printf("×%d",a[i]);//如果存在第二個質因數,則繼續輸出
return0;
}

❽ 如何用 C語言 輸出一個整數的因子

假如整數n除以m,結果是無余數的整數,那麼我們稱m就是n的因子。 需要注意的是,唯有被除數,除數,商皆為整數,余數為零時,此關系才成立。反過來說,我們稱n為m的倍數 。


如果利用C語言求一個整數n的因子,可以從1開始到n,依次加1,如果它是n的的因子,則輸出。


具體的源碼實現如下:
#include<stdio.h>
#include<stdlib.h>
intmain(intargc,char*argv[])
{
intn;
while(scanf("%d",&n)!=EOF)
{
if(n<1)break;
inti;
for(i=1;i<=n;i++)
{
if(n%i==0)
printf("%d",i);
}
printf(" ");
}
return0;
}

編譯運行後的結果:

❾ C語言:編寫一個函數,求出一個給定數字的所有因子。

1.對1~本身的各個數取余,為零的即為其因子。

#include<stdio.h>

voidfactor(intn)
{
printf("%dfactorhas:",n);
for(inti=1;i<=n;i++)
{
if(n%i==0)
printf("%d",i);
}
printf(" ");
}

intmain()
{
factor(27);
factor(100);
return0;
}

❿ 用c語言求一個數的所有因子

#include <stdio.h>

# 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 ",i,k);

}else{

fac[c1++]=i;

s+=i;

}

}

i++;

if(i>=k) break;//這個時候k已經開始等於自身的根號,或者將要出現和之前k對稱的i,引起自身重復故退出

}

for(c2++;c2<=N-1;c2++){

fac[c1++]=fac[c2];

printf("%s %d ","**",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;i<count;i++){

printf("%5d",factors[i]);

}

printf(" ");

printf("sum=%5ld count=%5d ",sum,count);

return 0;

}

(10)c語言求因子擴展閱讀:

有一種說法是「因子不限正負」,不過通常情況下只取正因子。

1, -1, n 和 -n 這些數叫做 n 的明顯因子

表示方法:可以用因子|倍數或倍數≡0 (mod 因子) 來表達(參見同餘),但用後者時因子一定要是正因子。因子∣倍數式中的垂直線是整除符號。它的統一碼值是 U+2223。

例如 42=6x7,因此 7 是 42 的因子,寫作 7∣42,亦是42≡0(mod 7)。



熱點內容
裝緩存下載 發布:2024-09-20 05:42:36 瀏覽:72
gon引擎自動回收腳本 發布:2024-09-20 05:39:39 瀏覽:246
好醫生連鎖店密碼多少 發布:2024-09-20 05:09:38 瀏覽:15
魔獸腳本代理 發布:2024-09-20 05:09:35 瀏覽:99
python登陸網頁 發布:2024-09-20 05:08:39 瀏覽:757
安卓qq飛車如何轉蘋果 發布:2024-09-20 04:54:30 瀏覽:178
存儲過程中in什麼意思 發布:2024-09-20 04:24:20 瀏覽:315
php顯示數據 發布:2024-09-20 03:48:38 瀏覽:501
源碼安裝軟體 發布:2024-09-20 03:44:31 瀏覽:354
入門編程游戲的書 發布:2024-09-20 03:31:26 瀏覽:236