設計演算法求出某個自然數的所有因子

2023-02-24 11:15:10 字數 3998 閱讀 4155

1樓:康小神

逐個列舉 每一次都判斷是否是這個自然數的因子c++**如下。

for(int i=1;i<=n;i++)if(!(n%i))cout《如果需要更高效的演算法 再聯絡我。

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

2樓:匿名使用者

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

#include

void factor(int n)

printf(""

}int main()

3樓:網友

#include

#include

using namespace std;

int main()

}cout<<"就是以上結果";

system("pause");

}執行過了。

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

4樓:愛路路是我

#include

void main()

int a,i=1; /先定義兩個變數a和i,i的初值為1(因為一個數的因子包括1)*/

scanf("%d",&a); 輸入想求的數*/while(iif(a%i==0) /當i可以被a整除時輸出i(這時輸出的i即為a的因子)*/

printf("%d,",i);

i++;變數i的值加1*/printf(""

include

void main()

{int num,i;

scanf("%d",&num);

for (i=1;iif (num%i==0)printf("%d ",i);

num為你要求的數,num如果能被i整除,那麼輸出i

5樓:網友

#include

void main()

num為你要求的數,num如果能被i整除,那麼輸出i

6樓:匿名使用者

首先說一下,一、二樓的方向是正確的。但是有個明顯的缺陷,程式做了很多無用功。當輸入的資料非常之大時,就明顯了。

舉個例子,對10000求解。我寫的程式只需要計算100次,而他們的則要計算10000次!!!

#include

#include

void main()

i++;printf(""

設計一個演算法求出500的所有因數。

c語言求一個數的因子

7樓:ok洛陽水席

#include

int m;

void num(int n,int b)for(i=0;i

要寫成動態的可以這樣:

#include

int m;

for(i=0;i

將a陣列作為形式引數,把a中的資料傳遞給主調函式中的實引數組b。實引數組b的大小要保證能夠存放整數m的因子。

這句話好神奇……

這句話似乎想要這樣:

#include

int m;

void nstrcpy(int a,int b){int i;

for(i=0;i

8樓:匿名使用者

struct factorstable

factorstable* getfactors(int num)..

}建議這麼寫,這樣就可以解決陣列返回指標頭,不能返回陣列長度問題。

9樓:曖昧

這個要你自己的理解 邏輯思維這些滴。

如何用數學公式求出一個數的所有因子數。

10樓:網友

沒有相應的公式,可以藉助短除法。短除法,就是用質數(2,3,5……)分別作為除數,一直除到結果為質數。

比如60,可以寫成60=2*2*3*5,2、3、5即為60的因子。不要忘記1

對於較小的數才能用此法,較大的數需要藉助計算機程式設計,遍歷小於這個數的所有質數,分別驗證(窮舉)。

拓展資料

質數:又稱為素數,即除了1和它本身沒有其他的因數。否則稱為合數。最小的質數為2。正整數內,1既不是質數,也不是合數。

因子數:除去本身外,能被這個數整除的數。1是容易忽略的因子數。

短除法:開始時用觀察等方法,寫出因數,逐漸縮小被除數,直到為質數。

11樓:一定手留餘香

沒有公式。

比如:28,因為1x28=28,2x14=28,4x7=28所以,28的因子分別是:1,2,14,4,7共5個因子。

12樓:數學好玩啊

必須先分解n=a1^t1*a2^t2……am^tm(a1,a2,……am為不同素數)則n的所有因子數(正因子)為(t1+1)(t2+1)……tm+1)

13樓:本報北京不能

無限不迴圈小數和開根開不盡的數叫無理數。

整數和分數統稱為有理數。

數學上,有理數是兩個整數的比,通常寫作 a/b,這裡 b 不為零。分數是有理數的通常表達方法,而整數是分母為1的分數,當然亦是有理數。

數學上,有理數是一個整數 a 和一個非零整數 b 的比(ratio),通常寫作 a/b,故又稱作分數。希臘文稱為 λο原意為「成比例的數」(rational number),但中文翻譯不恰當,逐漸變成「有道理的數」。不是有理數的實數遂稱為無理數。

所有有理數的集合表示為 q,有理數的小數部分有限或為迴圈。

【c++】求一個正整數的所有因子

14樓:物理公司的

#include

#include

#define max_len 200

void main()

{int num1[max_len]; 存放測試用例int num_test=0;//測試用例個數//初始化數字陣列num1[max_len]for (int i=0;i

c語言程式設計:求一個數的質因子

15樓:網友

#include

int main()

}printf("%d=%d", y, a[0]);輸出原數、等號、第一個質因數。

for(i = 1; i < j; i++)printf("×d", a[i]);如果存在第二個質因數,則繼續輸出。

return 0;}

16樓:網友

#include

int main()

{int i,j=0,x;

printf("請輸入一個整數:")

scanf("%d",&x);

printf("該數的質因子為:")

for(i=2;i<=x;i++)此迴圈用來尋找因子{if(x%i==0)

{for(j=2;j

求一個數的因子c/c++演算法

17樓:視覺籃球

c++寫的,你看一下吧,我儘量詳細的註釋了一下,不懂就追問;

#include

using namespace std;

int main()

}return 0;}

18樓:納威的吶喊

我把上面的那位的稍微改一下就稍微有效率了#includeusing namespace std;

int main()

}cout

19樓:化敏博

只需比較 sqrt(n)次;假如n==10000,只需比較100次#include

#include

int main()

求出所有小於或等於100的自然數對c

include include using namespace std int main return 0 編寫程式,求出所有小於或等於100的自然數對。自然數對是指兩個數的和與兩個數的差都是平方數。這個程 a sqrt m n a sqrt m n 放到for n 1 n 100 n 中,和下面一...

求vb程式設計100以內的所有自然數對自然數對指其和與

你好,bai我來du 為你zhi解dao答 版private sub mand1 click dim i j m 權,n for i 1 to 100 for j i 1 to 100 m sqr i j n sqr j i if fix m m and fix n n then print i,j...

求500到1000所有連續自然數的全部數字和是多少

千位數字和 1 百位數字和 5 6 7 8 9 100 3500十位數字和 1 2 3 9 500 10 2250個位數字和 1 2 3 9 500 10 2250全部數字和 1 3500 2250 2250 8001 11 0 1 2 3 4 5 6 7 8 9 5 100 5 6 7 8 9 1...