當前位置:首頁 » 編程語言 » c語言輸出這個整數的所有約數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言輸出這個整數的所有約數

發布時間: 2022-06-06 06:40:49

A. 如何用計算機c語言編程:輸入兩個正整數,輸出它們的最小公約數和最大公約數

#include
int
min(int
a,int
b)
{
return
a>b?b:a;
}
void
main()
{
int
i;
int
m,n;
printf("輸入兩個正整數:");
//輸入
scanf("%d",&m);
scanf("%d",&n);
//求最小並輸出
for(i=2;i<=min(m,n);i++)
if((m%i==0)&&(n%i==0))
{
printf("最小公約數:%d\n",i);
break;
}
//求最大並輸出
for(i=min(m,n);i>=2;i--)
if((m%i==0)&&(n%i==0))
{
printf("最大公約數:%d\n",i);
break;
}
}

B. 用C語言編寫 從鍵盤輸入一個整數x,輸出它所有的約數。(即能被它整除。例如:6的約數為 1,2,3

#include <stdio.h>

int main()

{

int x,i;

scanf("%d",&x);

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

if(x%i==0)

printf("%d ",i);

return 0;

}

C. c語言輸出一個數的所有因數

從數學定義可以得知,一個數的因數范圍在1到該數本身。所以只需要從1到該數遍歷,逐個嘗試模除,可以整除的則為因數,將所有符合條件的數列印即可。

代碼如下:

#include<stdio.h>
intmain()
{
intn,i;
scanf("%d",&n);//輸入要輸出因數的值。
for(i=1;i<=n;i++)
{
if(n%i==0)printf("%d,",i);//輸出因數。
}

return0;
}

D. 如何用C語言求一個整數的所有約數之和

思路:
用a除從1到a/2
判斷結果,是約數賦值給數組a[0]
...
...

再求數組a[n]的和

E. C語言有么高效求一個數的所有約數哦

用素數表,求很大的數的約數效率提高很多

#define MAX 10000
int a[MAX]={2,3,5,7,11,13,...};/*前一萬個素數*/

F. C語言:輸入一個整數,怎麼輸出這個數的所有約數

scanf("%d",&x);
for(int i=1;i<=x;i++)
if(x%i==0)printf("%d ",i);

G. C語言 快速求一個自然數的約數的個數

對於這個問題我們只需要暴力從2到根號n這個閉區間的所有整數就行了,如果能整除計數就加2,不過如果這個整數的平方就是輸入的n則計數只能加1。最後不要忘記1和其自身。如果根號n不是一個整數,那麼我們可以向下取整。演算法的整體復雜度是根號n,這個演算法的時間消耗與根號n成正比,不過可以確定的是n在32位的整型(或者無符號的整型)數據范圍內時間消耗還是比較樂觀的。參考代碼(C語言實現):
#include
<stdio.h>
#include
<math.h>
int
main(void)
{
int
i;
int
n;
int
m;
int
num;
scanf("%d",
&n);
num
=
0;
m
=
sqrt(n);
for
(i=2;
i<=m;
++i)
{
if
(n
%
i
==
0)
{
num
+=
2;
if
(i
*
i
==
n)
{
--num;
}
}
}
/*自然數1應該只有一個因子才對*/
if
(n
!=
1)
{
num
+=
2;
}
else
{
++num;
}
printf("%d\n",
num);
return
0;
}

H. C語言編程: 輸入一個正整數求它的全部約數,並輸出。運行結果停留在屏幕上。

#include<stdio.h>void main()
{
int n,i;
printf("輸入一個正整數:");
scanf("%d",&n);
printf("約數:\n");
for(i=1;i<=n;i++)
if(n%i==0) printf("%d\n",i);}