❶ c語言編程親和數,能運行,但是結果不對,麻煩看一下哪裡錯了,謝謝
#include <stdio.h>
void main()
{
int n,m,sum,com;
printf("這是1000以內的親和數:\n");
for (m=0;m<10000;m++)
{
sum=0;
com=0;
for (n=m-1;n>=1;n--) //m=220 n>=1
{
if (m%n==0) //能整除
{
sum+= n; //sum=284 直接相加,不用除
}
}
for (n=sum-1;n>=1;n--) // n>=1
{
if (sum%n==0) //能整除
{
com+=n; //com=220 直接相加,不用除
}
}
if (com==m)
{
if (m<sum)
{
printf("%d與%d是親和數\n",m,sum);
}
}
}
}
❷ 親和數C語言..
#include<stdio.h>int main(){int a,i,b,n,y,z;printf("There are following friendly–numbers pair smaller than3000:\n");for(a=1;a<3000;a++) /*窮舉3000以內的全部整數*/{for(b=0,i=1;i<=a/2;i++) /*計算數a的各因子,各因子之和存放於b*/if(!(a%i))b+=i; /*計算b的各因子,各因子之和存於n*/for(n=0,i=1;i<=b/2;i++) if(!(b%i))n+=i; if(n==a&&a<b)printf("%4d..%4d\n ",a,b); /*若n=a,則a和b是一對親密數,輸出*/} printf("請輸入兩個數\n"); scanf ("%d %d",&y,&z); for(a=1;a<10000;a++) /*窮舉 10000 以內的全部整數*/ { for(b=0,i=1;i<=a/2;i++) /*計算數 a 的各因子,各因子之和存放於 b*/ if(!(a%i)) b+=i; /*計算 b 的各因子,各因子之和存於 n*/ for(n=0,i=1;i<=b/2;i++) if(!(b%i)) n+=i; if(n==a&&a<b) if((a==z&&b==y)||(b==z&&a==y)) { printf("%4d %4d 是親密數\n",a,b); /*若 n=a,則 a 和 b 是一對親密數,輸出*/ break; } if(a==9999) printf("%d,%d不是親密數\n",y,z); }}
❸ C語言編程 輸入兩個數,輸出他們的和
#include<stdio.h>
void main(int argc, char *argv[])
{ int iNum1,iNum2;
printf("請輸入二個數:\n");
scanf("%d %d",&iNum1,&iNum2);
printf("%d+%d=%d\n",iNum1,iNum2,iNum1+iNum2);
}
只需要給iNum1和iNum2賦值,那麼他們的和就可以計算出來。
❹ C語言編程:輸入10個數字,輸出這10個數字的和
#include
"stdio.h"
main()
{
int
a[10],i,sum=0;
//一個數組存放10個數,合是sum,i是普通變數
printf("輸入10個數");
for(i=0;i<10;i++)
//一個循環,使你可以輸入10個數
scanf("%d",&a[i]);
for(i=0;i<10;i++)
//又一個循環,每循環一次,實現兩個數的之和
sum=sum+a[i];
//相當於
a【0】+a【1】+····a【9】
printf("the
sum
is:%d",sum);
//輸出結果
}
❺ 用C語言實現求出范圍內的親和數
//c語法
#include
#include
int
main(int
argc,char
*argv[])
{
long
num1,num2,min,max;
srand(time(null));
printf("請指定范圍:");
scanf("%ld
%ld",&min,&max);
while(1)
{
num1=rand()%(max+1)+min;
num2=rand()%(max+1)+min;
if(0==num1%2
&&
1==num2%2)
{
break;
}
}
printf("%ld*%ld=%ld",num1,num2,num1*num2);
system("pause");
return
0;
}
//c#語法
using
system;
namespace
t
{
class
program
{
public
static
void
main(string[]
args)
{
int
num1,num2,min,max;
random
r=new
random(datetime.now.millisecond);
console.writeline("請指定范圍,每行一個:");
try
{
min=convert.toint32(console.readline());
max=convert.toint32(console.readline());
while(true)
{
num1=r.next(min,max+1);
num2=r.next(min,max+1);
if(0==num1%2
&&
1==num2%2)
{
break;
}
}
console.writeline("{0}*{1}={2}",num1,num2,num1*num2);
}
catch(exception
)
{
}
console.write("按任意鍵退出。");
console.readkey(true);
}
}
}
❻ c語言編寫一個求三個整數和的程序並輸出結果。
程序代碼如下:
(6)c語言編程輸出親和數擴展閱讀:
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
❼ 親和數 c語言
首先,我們先搞清概念,親和數指的是兩個數的除去自身以外的約數。。
6除去自身以外的約數是什麼呢:123
對於程序,我想說,你暈過頭了!!
錯誤出現在最後的ifelse判斷,我們需要判斷的是:
數組a所有元素的和是284
數組b所有元素的和是220
而不是判斷這兩個數組所有元素和相等!!
所以最後的ifelse就隨你怎麼改了:
if(sum1==284&&sum2==220)printf("R ");//if(sum1==y&&sum2==x)printf("R ");
elseprintf("W ");
❽ c語言編程求大佬
#include<stdio.h>
int k;
int sumOfFactor(int n)
{ int i,s=1;
for(i=2; i*i<n; i++)
if(n%i==0)s+=i+n/i;
if(i*i==n)s+=i;
return s;
}
int friendNum(int n)
{ k=sumOfFactor(n);
return k==sumOfFactor(n)&&n==sumOfFactor(k);
}
int main()
{ int n;
scanf("%d",&n);
if(friendNum(n))
printf("Find the friendly number of %d is %d. ",n,k);
else
printf("There is no friendly number of %d. ",n);
return 0;
}
❾ 一道C語言題目 親和數
題目錯了吧,200-1200之間只有一對,就是(220,284).
因為你題目說了,x<y,所以(284,220)不算,(496,496)也不算
#include<stdio.h>
void main()
{
long A,B;
scanf("%d%d",&A,&B);
int count=0;//統計結果
int x,i;//循環變數
for(x=A;x<B;x++)
{
long s1=0;
for(i=1;i<=x/2;i++)
if(x%i==0)
s1+=i;
if(s1>x && s1<=B)
{
long s2=0;
for(i=1;i<=s1/2;i++)
if(s1%i==0)
s2+=i;
if(s2==x)
count++;
}
}
printf("%d\n",count);
}