當前位置:首頁 » 編程語言 » c語言完數輸出因子

c語言完數輸出因子

發布時間: 2022-12-30 02:31:48

1. c語言編程:找出200以內所有完數,並輸出其因子 例如輸出6=1+2+3

#include <stdio.h>

int Perfect(int);
void PerfectShow(int,int);

void main()
{
int num=200;
int judge=0,i;
for(i=0;i<=200;i++)
{
judge=Perfect(i);

if(judge>1)
{
PerfectShow(i,judge);
printf("\n");
}
}

getch();
}

int Perfect(int num)
{
int max,sum=0;
int i;
for(i=1;i<num;i++)
{
if(num%i==0)
{
max=i;
sum=sum+i;

}
if(sum==num)
{
return max;
}
else
{

}
}
return 1;
}

void PerfectShow(int num,int max)
{
int out,i;
printf("%d = ",num);
for(i=1;i<num;i++)
{
if(num%i==0)
{
printf("%d",i);
if(i==max)
{
return;
}
else
printf("+");
}
}

}

2. 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;
}

3. 如何用 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;
}

編譯運行後的結果:

4. c語言:列出完數及其因子

#include <stdio.h>
#include <conio.h>

void main()
{
int m,i,s;
for(m=1;m<=1000;m++) //從1開始到1000循環結束
{
s=0;//初始化因子之和s為0

for(i=1;i<m;i++) //尋找在1到m之間,有多少m的因子
if(m%i==0) //如果m能整除i,則i為m的因子
s=s+i;//將因子累加

if(s==m) //如果因子之和等於這個數
printf("%d\t",s);//輸出
}

getch();
}

運行結果:
6 28 496
請參考

5. 用c語言求1000之內的完數 要求輸出完數的因子

#include "stdio.h"

//判斷n是否是完數
bool isWanShu(int n)
{
int sum=0, j;
for(j=1;j<n;j++)
{
if(0==n%j) sum+=j;
}
if(sum==n) {
printf("%d 是完數, ", n);
return true;
} else {
return false;
}
}
//輸出整數的n的因子(自身除外)
void printFactor(int n)
{
int i;
printf("%d 的因子: ", n);

for(i=1; i<n; i++) {
if(n%i==0) printf("%d ", i);
}
printf("\n");
}
int main()
{
int i;
for(i=1; i<=1000; i++) {
if ( isWanShu(i)) { //如果i是完數,則輸出它的因子。
printFactor(i);
}
}
return 0;
}

輸出結果:
6 是完數, 6 的因子: 1 2 3
28 是完數, 28 的因子: 1 2 4 7 14
496 是完數, 496 的因子: 1 2 4 8 16 31 62 124 248

6. c語言完數輸出因子

#includeintyinzi(intn);intwanshu(intn);intmain(){inti;for(i=1;i

7. 編寫一段C語言程序,功能為:找出1000之內的所有完數,並按下面格式輸出其因子。

#include <stdio.h>


int main()

{

int i,j,sum;

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

{

for(j=1,sum=0;j<i;++j)

{

if(i%j==0)

{

sum+=j;

}

}

if(sum==i)

{

printf("%d: its factors are 1",i);

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

{

if(i%j==0)

{

printf(",%d",j);

}

}

printf(" ");

}

}

return 0;

}

8. 編程找出1000以內的所有完全數,並輸出使該數成為完全數的因子。(c語言)

完數是大於等於1、小於自身的所有因子之和與自身相等的數。先求因子之和,再與其比較,相等時再由小到大求各因子依次輸出,並在之間用'+'連接起來。舉例代碼如下:

#include"stdio.h"
intmain(intargc,char*argv[]){
intn,m,i,t;
for(n=6;n<=1000;n+=2){
for(m=1,t=n>>1,i=2;i<=t;i++)//求所有因子之和
if(n%i==0)
m+=i;
if(m==n){//因子和與自身比較是否相等
printf("%4d=1",n);
for(i=2;i<=t;i++)//若相等則再求因子並輸出
if(n%i==0)
printf("+%d",i);
printf(" ");
}
}
return0;
}

9. C語言函數輸出完數和因子

這是我編寫的 你編寫的 要注意 每次進行外循環都要把 s初始化為 0 否則就是用上一次的值

#include <stdio.h>
int main()
{
int i,j,n,sum;
printf("請輸入一個數:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=0;
for(j=1;j<i;j++)
if(i%j==0)
sum+=j;
if(sum==i)
{
printf("完數為:%d\t它的約數是:",i);
for(j=1;j<i;j++)
if(i%j==0)
printf("%4d",j);
printf("\n");
}
}
return 0;
}

熱點內容
linuxsnmp安裝 發布:2025-07-02 23:07:08 瀏覽:650
北理c語言答案 發布:2025-07-02 23:05:57 瀏覽:304
sql同比 發布:2025-07-02 23:03:39 瀏覽:835
一個伺服器獲取多個ip 發布:2025-07-02 23:02:43 瀏覽:786
三星電腦wifi怎麼連接wifi密碼 發布:2025-07-02 22:55:00 瀏覽:712
安卓開發選哪個版本的SDK 發布:2025-07-02 22:19:07 瀏覽:486
未上傳圖片 發布:2025-07-02 22:14:01 瀏覽:599
安卓qq直播怎麼分享聲音 發布:2025-07-02 22:13:21 瀏覽:250
安卓系統怎麼刷機清除內存 發布:2025-07-02 22:08:19 瀏覽:697
安卓手機6位數密碼有多少組 發布:2025-07-02 21:50:31 瀏覽:798