當前位置:首頁 » 編程語言 » c語言簡單編程之完數問題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言簡單編程之完數問題

發布時間: 2022-04-11 22:04:29

c語言中關於完數問題

第一個空: return 1
第二個空: fun(x)

前幾天回答的時候,看到上樓的同志沒有第二個,我也就沒沒注意到第二個問題,希望沒耽誤你的事~~~

Ⅱ c語言編程題 :判斷一個數是不是完數

C語言程序如下:

#include "stdio.h"

int main()

{

int n,i,sum=0;//定義一個存放因子和的變數,以及需要判斷的數n,和循環條件用到的i

printf("請輸入需要判斷的數:");

scanf("%d",&n);//存放需要判斷的數n

for(i=1;i<n;i++)//循環條件找出因子並累加

{

if(n%i==0)

sum+=i;

}

if(n==sum)

printf("%d 是完數 ",n);

else

printf("%d 不是完數 ",n);

return 0;

}

(2)c語言簡單編程之完數問題擴展閱讀:

程序思路

假設一個數為n,我們可以用循環條件,讓n分別和1,2,3,4,5……n-1進行判斷是否能被整除,我們可以通過取余(%)的方法來進行判斷。如果判斷出來取余結果為0,那麼就把這些因子全部加起來,得到因子的和。

接下來,將因子的和與n進行比較,如果相等,那麼就是完數,反之不是完數。

判斷一個完數,就是運用基本輸入函數(scanf),將要判斷的數據輸入進來,之後運用循環條件來判斷。

Ⅲ c語言程序設計 完全數問題

#include<stdio.h>
main()
{
int i,j,a,n;
scanf("%d",&n);
for(i=6;i<=n;i++)
{
a=0;//a=0放在這兒才行;
for(j=1;j<=i/2;j++)//是j<=i/2;
if(i%j==0)
a=a+j;
if(a==i)
printf("%d\n",i);
}
}

Ⅳ C語言完全數問題。

#include "math.h"
#include "stdio.h"
#include "conio.h"
main()
{
long int i,x,y,z;
for (i=1;i<100000;i++)
{
x=sqrt(i+100); /*x為加上100後開方後的結果*/
y=sqrt(i+268); /*y為再加上168後開方後的結果*/
if(x*x==i+100&&y*y==i+268) /*如果一個數的平方根的平方等於該數,這說明此數是完全平方數*/
printf("\n%ld\n",i);
}
getch();
}

Ⅳ c語言完全數問題

int main ()
{
int m,n,a,i,e,f;
scanf("%d %d",&m,&n);
int count=0;//統計m n之間一共多少個符合要求
for(i=m;i<=n;i++)
{
e=sqrt(i+100);//一個數加100
f=sqrt(i+268);//一個數加268
if ( (sqrt(i+100)==e)&& (sqrt(i+268)==f) )
{
count+=1;//計數
printf("%d ",i);//列印
}
}
if( count==0)
{
printf ("no");//在m n之間全部檢測結束,如果count依然等於0,才能列印no
}

return 0;
}
請採納,謝謝。

Ⅵ C語言編程,完數問題!

Private Function isws(m As Integer, splus As String) As Boolean
Dim i%, s%
For i = 1 To m / 2
If m Mod i = 0 Then
s = s + i
End If
Next i
If s = m Then '如果是完數,則重新循環,將各因子找出來
splus = m & "=1" '因為1是所有數的因子,所以先找出來,接下來的循環可以從2開始
For i = 2 To m / 2
If m Mod i = 0 Then
splus = splus & "+" & i
End If
Next i
isws = True
Else
isws = False
End If
End Function

Private Sub Form_Click()
Dim i%, sp$
Print "1000以內的完數為:"
For i = 1 To 1000
If isws(i, sp) Then Print sp 'sp是按地址傳遞的,所以得到的值是函數isws中最後生成的splus值
Next i
End Sub

絕對正確,給分哦

Ⅶ C語言如何編寫完數程序

#include<stdio.h>
void main()
{
int i,t(0),m;
printf("請輸入一個數:");
scnaf("%d",&m);
for(i=1;i<m;i++)
{
if(m%i==0)
t=t+i;
}
if (t==m)
printf("該數是完數");
else
printf("該數不是完數");
}

Ⅷ C語言程序設計 求完數

#include<stdio.h>
#include<math.h>
intw(intx)
{
inti,sum=1;
for(i=2;i<=sqrt(x);i++)
{
if(x%i==0)
{
sum+=i+x/i;
}
}
if(sum==x&&x!=1)
{
return1;
}
else
{
return0;
}
}
intmain()
{
inti,n,m,a[10],j;
scanf("%d%d",&n,&m);
for(i=n,j=0;i<=m;i++)
{
if(w(i))
{
a[j++]=i;
}
}
if(j==0)
{
printf("NIL ");
}
else
{
for(i=0;i<j;i++)
{
if(i<j-1)
{
printf("%d",a[i]);
}
else
{
printf("%d",a[i]);
}
}
}
return0;
}

Ⅸ c語言完數問題 請寫一個程序,給出指定整數范圍[a,b]內的所有完數,0 < a < b < 10000。一個數如果恰好

#include"stdio.h"

intmain(){

inta,b;
intsum=0;

scanf("%d%d",&a,&b);

for(intnum=a;num<=b;num++){
sum=num;

for(inti=1;i<num/2+1;i++){//處理每個數
if(num%i==0){//能被i整除
sum-=i;//減去一個因子
}
}
if(sum==0){
printf("%d ",num);//輸出完數
}
}

return0;
}

Ⅹ C語言程序問題:求完數

修改了一下,能運行,沒有改代碼,就把括弧改了一下

結果如下

#include<stdio.h>

intmain()

{

longintx,y,a,b,c;

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

{

ints[100];

a=1;

for(y=1;y<=x/2;y++)

{

if(x%y==0)

{

s[a]=y;

a++;

}

}

c=0;

for(b=1;b<=a;b++)

{

c=c+s[b];

if(x==c)

{

printf("%ditsfactorsare",x);

for(c=1;c<=b;c++)

printf("%d",s[c]);

printf(" ");

}

}

}

}