關於n被整除的cc程式演算法,關於n 被整除的C C 程式演算法。

2022-03-01 09:12:53 字數 5241 閱讀 4865

1樓:匿名使用者

//修改實現:測試過的,應該沒什麼問題了。要是有問題,還可以**一下~

//輸入:int a, n;

//輸出:int i;

//演算法效果:求最大的i, 使得n!(n的階乘)可以被a^i(a的i次方)整除,而不能被a^(i+1)(a的i+1次方)整除。

#include

#define size 100

struct primeitem

;int* prime_factors(int n);//分解質因數

primeitem* getitemarray(int n);//獲取質數item連結串列

int local(primeitem array,int x);//元素定位

int maxj(int *prime,primeitem *arrayitem);

void main()

//***************分解質因數***************=//

int* prime_factors(int n)

else

break;}}

array[index]=n;//

index++;

array[index]=0;//設定結束標誌

return array;

}primeitem* getitemarray(int n)

for(i=2;i<=n;i++)

else

j++;}}

return arraylist;

}int maxj(int *prime,primeitem *arrayitem)

else}}

if(prime[i]==0&&i!=0)

else

}return count;

}int local(primeitem *array,int x)

return -1;}

2樓:匿名使用者

n! = 1 * 2 * 3 * …… * n這裡的除法均指整除。

1~n這n個數中能被a整除的整數mk = k * a, 其中k = 1 ... (n/a),設所有mk的乘積為m,則所求的a^i必然是m的一個因式,即m可表示成(a^i) * r,其中r不能被a整除,且可知m = (n / a)! * a ^ (n / a); 所以要求a ^ i,只需看(n / a)!

中有因式a的多少次方,這可以使用遞迴實現。

可以用下面一段c++**求i

#include

int geti(int a, int n)

3樓:戈壁與清潭

如果是窮舉法的話,n如果大了,程式不掛也得萎啊!所有,窮舉法俺表示必須強烈滴排斥掉。

首先駁斥一下樓主:int 定義的數 n 不能太大,不然 n! 你求不出來。不過樓主不必擔心,因為計算機的速度是很快的,所以這類的小程式還是很容易寫的,速度也不會很慢;

#include

void main()}}

if(i==-1)

cout<

else

cout<

}這個程式我執行了一下,int 型的最大位數作為n值都可以很快得出結果

4樓:匿名使用者

//對1-n,每一個數都去嘗試整除a,直到不能整除為之。i初始為0,每次可以加上i/a的值就可以了。

#include

using namespace std;

int main()

5樓:

#include

#include

int main(int a,int n)

6樓:戴曼彤

這還不簡單,對1-n,每一個數都去嘗試整除a,直到不能整除為之。i初始為0,每可以除一個就+1.

用c++編寫一個程式,判斷一個數n 能否同時被3和5整除

7樓:你愛我媽呀

#include

using namespace std;

int main()

int n;

cin>>n;

if(n%3==0 && n%5==0)

cout<<"yes";

else

cout<<"no";

return 0;

c++程式設計實現,計算100以內能夠被3整除或者被7整除的數的和,並將和輸出。急用,謝謝!!!

8樓:it孤鶩

#include

using namespace std;

void main()

{int i,sum=0;

for(i=1;i<=100;i++)

if(i%3==0 || i%7==0)

sum+=i;

cout<

9樓:匿名使用者

int sum = 0;

for(int i =0; i< 100; i++)

printf("%d", sum);

10樓:花逸百榮軒

100以內能被3整除的數為[3、6、9、12、15、18、21、24、27、30、33、36、39、42、45、48、51、54、57、60、63、66、69、72、75、78、81、84、87、90、93、96、99],其和為[3+99]×16+51=1683;100以內能被7整除的數為[7、14、21、28、35、42、49、56、63、70、77、84、91、98],其和為[7+98]×7=735。

11樓:匿名使用者

int main()

cout<

return 0;}

在c++中「n能被5整除」有幾種表達方法

12樓:唐博

這個真不好答,理論上是無數種。

只能告訴你最簡單的

if(n%5 == 0)

1,你還可以寫一個函式,當能被5整除時返回1,其他返回0,然後判斷返回值。但是函式裡面的內容也是if(n%5 == 0)

2,或者((n-5)%10 == 0)

其實所有的都是廢話,都是跟n%5 == 0一個意思

c語言怎麼表示不能被整除

13樓:地表最帥

#include

int main()

首先 unsigned year; 應該du是unsigned int year;

其次year沒有zhi

初始化第三 你這邊dao沒有迴圈,你回year++有什答麼用呢應該這樣

unsigned int year = 0;

while(year  9999)

14樓:匿名使用者

if(被除數 % 除數 == 0)

printf("可以被整除");

else

printf("不能被整除");

15樓:等待

if(a%b!=0)

16樓:夢飛無痕

int a ,b;

if(a%b==0&&b!=0)

printf(「a能被b整除」);

else

printf(「a不能b整除」);

17樓:蓉雪球

你是想bai寫閏年嗎

//標準輸du入輸出函式

#include

//定義不返回值的zhi主dao函式

void main()

用c語言的條件表示式表示m本能被n整除

18樓:納年光陰

if(m%n == 0)

因為m與n為整型,在c語言裡直接用m/n會只保留整數位,與結果不符,所以應該用取餘判斷有沒有餘數,進而看是否整除。

19樓:匿名使用者

n%m==0

取模判斷餘數是否為0

希望能夠幫到你

c語言中的/(整除)究竟怎麼用?比如下面幾個例子: 1.float n;n=1/2,那n是0嗎?為

20樓:匿名使用者

c語言中的/(除運算子)是否完成整除運

算,是要看參與運算的兩個

回運算數的。

如果其中有一個是答浮點數,則運算結果是浮點數(帶有小數的),如果兩個數全是整數,則運算結果是整數型別,不帶小數!

所以,1.float n;n=1/2=0

2.float n;n=2.0/4=0.5

21樓:哥們兒會_臭臭

對於整型 有1/2=0

在float n;n=1/2;中:

程式會以為1和2是整型變數,於是運算回1/2=0,然後再把0轉換為float,結答果自然是0

在float n;n=2.0/4;中:

應為2.0不是整數,程式會以為它是浮點數。有浮點數參與運算的時候,程式會先把所有參與運算的變數看成浮點數double,對於2.

0/4=0.5,是個double的值,然後再轉換為float就是0.5

編寫一個c++程式,計算並輸出兩個無符號整數m與n 的乘積和整除的整商及餘數(其中| m | ≤ 101000 ,| n | 10

22樓:

使用c99標準的int64_t可以有21位有效數字,所以101000的6位乘法沒有任何問題。

#include

#include

int main()

**********

輸入m:7654321

輸入n:1234567

7654321*1234567=94497721140077654321/1234567=6

7654321%1234567=246919*****===

**相容gcc,cfree,dev c++, cblocks。

23樓:超人漢考克一世

#include

using namespace std;

int main()

dev-c++ 通過了的程式

如何證明n個連續整數的乘積 能被n!整除

哥德 猜想的證明 一 引子 1742年6月7日哥德 寫信給當時的大數學家尤拉,正式提出了以下的猜想 a 任何一個大於 6的偶數都可以表示成兩個素數之和。b 任何一個大於9的奇數都可以表示成三個素數之和。這就是哥德 猜想。哥德 猜想 大於6的偶數可以表示為兩個奇素數之和。這裡大於6的偶數,是指大於或等...

n個連續整數的乘積一定能被n 整除

設a為任一整數,則式 a 1 a 2 a n a n a n a n a n 而式中 a n a n 恰為c a n,a 也即是從a n中取出a的組合數,當然為整數。所以 a 1 a 2 a n 一定能被n 整除 n!1 2 3 4 n 高3你會學到的。這樣 n個連續整數的乘積一定能被n 整除 啊 ...

關於電腦程式演算法的問題,請懂程式設計的解答在。C語言學習。書中我看到兩個迴圈結構當型和直到

給你舉個典型的例子 while 條件 就是一個所謂的當型迴圈條件成立,則執行while裡的語句,直到不符合條件,終止迴圈。或者你可以在while裡面加入break 則不管條件是否成立都直接跳出迴圈。以下兩個範例,就是條件式成立時執行 while conditoin dowhile condition...