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

c語言求因數

發布時間: 2022-01-09 10:11:15

Ⅰ 求一個整數的因數和 的c語言程序代碼

C語言實現,參考代碼如下:

#include<stdio.h>
intmain()
{
intn,i,sum=0;
scanf("%d",&n);
if(n<1)return0;
for(i=1;i<=n;++i)
if(n%i==0)
sum+=i;
printf("因數之和為%d",sum);
return0;
}

Ⅱ 求一個數的最大因數!c語言

親,你不需要這樣,你可以用逆向思維:
從數的本身遞減至2;
for(int i = a/2; i > 1; i--)
其中若滿足i 為 a 的因數,就跳出循環,那麼此時 i 就為 a 的最大因數。
而當 i = 1時,那說明它是個質數。

Ⅲ 求一個數的質因數。c語言編程

這個問題,首先,用篩選法找出質素,然後,遍歷這個素以內的所有素數,找到質因數!
#include <stdio.h>
#define MAX 1001
char a[MAX];
int main()
{
int i,j;
for(i = 2; i < MAX; i++)
{
if(a[i] == 0)
for(j = i+i; j < MAX; j += i)
a[j] = 1;
}
int n;
printf("Please enter a number:\n");
scanf("%d",&n);
for(i = 2; i <= n/2; i++)
{
if(a[i] == 0)
{
if(n % i == 0)
printf("%d ",i);
}
}
printf("\n");
}

Ⅳ c語言 分解質因數

代碼:

#include<stdio.h>
intmain()
{
inta[6555],i,j,t=1;
a[0]=2;
for(i=3;i<65540;i+=2)
{
for(j=2;j*j<=i;j++)
{
if(i%j==0)
break;
}
if(j*j>i)
{a[t]=i;t++;}
}
intn,n1,n2,x,y,f=0;
while(scanf("%d",&n)!=EOF)
{
x=0;
for(i=0;a[i]<=n;i++)
if(a[i]==n)
{
printf("%d=1*%d ",n,n);
x=1;
}
if(x==0){
printf("%d=",n);
for(i=0;a[i]<n;i++)
{
if(n%a[i]==0)
{
n=n/a[i];
printf("%d*",a[i]);
i--;
}
}
printf("%d ",n);}
}
return0;
}

思路就是求出所有素數,然後從素數 2 開始,找可以把n整除的素數,(每次都從素數2開始找,而且找到後要更新n的值)

Ⅳ C語言如何求出一個數的「因數」求源代碼

#include<stdio.h>
intmain(void)
{
intx,i=2;
printf("請輸入一個整數:");
scanf("%d",&x);
while(i<=x)
{
if(x%i==0)
{
printf("%d",i);
x=x/i;
i=2;
}
else
i++;
}
return0;
}

Ⅵ C語言程序,求一個數的分解因數

不是分解質因數,對嗎?
分解質因數簡單,分解因數要難些,利用回溯可以做,以下是我寫的代碼,看一看是否是你想要的。
#include "stdio.h"
#include "stdlib.h"
#include "ctype.h"

typedef int Integer[100];
Integer s;
int t=0;

int D;
void dd(int m,int n);

void main()
{
printf("輸入一個大於3的正整數:");
do
{
scanf("%d",&D);
if(D<=3)
{
printf("輸入錯誤,請重新輸入!");
}
else
{
break;
}
}while(D>3);
dd(2,D);
}

void dd(int m,int n)
{
int i,j,k;
i=m;
j=n;
if(i<=j/i)
{

if(j % i==0)
{
t=t+1;
s[t]=i;
for(k=1;k<=t;k++)
{
printf("%d*",s[k]);
}
printf("%d=%d\n",j/i,D);
dd(i,n/i);
t=t-1;
dd(i+1,j);
}
else
{
dd(i+1,j);
}
}

}

Ⅶ c語言求一個數的最大因數問題,這個因數數組應該怎麼申請

親,你不需要這么麻煩,因為輸入的數沒有限制,無法定義數組的大小;
你可以從數的本身向2遞減;
for(int i = a/2; i > 1; i--)
然後判斷某個i值是否為a 的因數,若是,則為最大因數。

Ⅷ 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;
}

Ⅸ C語言怎樣高效求一個數的所有因數的和

參考代碼如下
#include<stdio.h>
int main()
{
int i,n,b;
long sum=0;
scanf("%d",&n);
sum=n;
printf("所有因數:");
for(i=1;i<=n/2;++i)
if(n%i==0){
printf("%d ",i);
sum+=i;
}
printf("%d ",n);
printf("\nsum=%d ",sum);
return 0;
}

Ⅹ c語言求分解質因數

有這樣幾個問題:

  1. 聲明的二維數組是aaa,但代碼中應用時又變成了a,會產生a未定義錯誤。

  2. int aaa[3][100000];數組太大,建議使用全局變數或動態數組;改成int a[3][1000];更好。

  3. a[3][z]=a[1][j];這里和jj=a[3][z]*1;這里數組a都越界了。聲明的a第一維是3,即0、1、2,不可能有[3]。

    把這些錯誤改了再說。

熱點內容
伺服器換位置了ip地址怎麼換 發布:2024-09-19 09:33:50 瀏覽:798
javarest 發布:2024-09-19 09:28:43 瀏覽:753
密碼子的原料是什麼 發布:2024-09-19 09:11:42 瀏覽:348
半夜編程 發布:2024-09-19 09:11:36 瀏覽:104
海康威視存儲卡質量如何 發布:2024-09-19 08:55:35 瀏覽:941
python3默認安裝路徑 發布:2024-09-19 08:50:22 瀏覽:517
環衛視頻拍攝腳本 發布:2024-09-19 08:35:44 瀏覽:419
sqlserveronlinux 發布:2024-09-19 08:16:54 瀏覽:257
編程常數 發布:2024-09-19 08:06:36 瀏覽:953
甘肅高性能邊緣計算伺服器雲空間 發布:2024-09-19 08:06:26 瀏覽:163