假如整數(shù)n除以m,結(jié)果是無余數(shù)的整數(shù),那么我們稱m就是n的因子。 需要注意的是,唯有被除數(shù),除數(shù),商皆為整數(shù),余數(shù)為零時,此關(guān)系才成立。反過來說,我們稱n為m的倍數(shù) 。
創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,先為洞頭等服務(wù)建站,洞頭等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為洞頭企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
如果利用C語言求一個整數(shù)n的因子,可以從1開始到n,依次加1,如果它是n的的因子,則輸出。
具體的源碼實(shí)現(xiàn)如下:
#include?stdio.h
#include?stdlib.h
int?main(int?argc,?char*?argv[])
{
int?n;
while(scanf("%d",n)?!=EOF)
{
if(n1)break;
int?i;
for(i=1;i=n;i++)
{
if(n%i==0)
printf("%d?",i);
}
printf("\n");
}
return?0;
}
編譯運(yùn)行后的結(jié)果:
#include
"stdio.h"
int
main()
{
int
x,i;
scanf("%d",x);//輸入一個整數(shù)
for(i=1;i=x;++i)
{
if(x%i==0)
printf("%d\n",i);//輸出因子
}
return
0;
}
這樣就OK了~~不明白的話就問我
這是我編寫的 你編寫的 要注意 每次進(jìn)行外循環(huán)都要把 s初始化為 0 否則就是用上一次的值
#include stdio.h
int main()
{
int i,j,n,sum;
printf("請輸入一個數(shù):");
scanf("%d",n);
for(i=1;i=n;i++)
{
sum=0;
for(j=1;ji;j++)
if(i%j==0)
sum+=j;
if(sum==i)
{
printf("完數(shù)為:%d\t它的約數(shù)是:",i);
for(j=1;ji;j++)
if(i%j==0)
printf("%4d",j);
printf("\n");
}
}
return 0;
}
樓主你好!
根據(jù)你的要求實(shí)現(xiàn)代碼如下!
#includestdio.h
int?main()
{
printf("請輸入一個數(shù):");
int?a;
scanf("%d",a);
for(int?i=2;i=a;){
? ? ? ? ? if(a%i==0i!=a){
? ? ? ? ? ? ? ?printf("%d?,",i);
? ? ? ? ? ? ? ?a=a/i;
? ? ? ? ? }
? ? ? ? ? else?if(a%i==0i==a){
? ? ? ? ? ? ? ?printf("%d?\n",i);
? ? ? ? ? ? ? ?a=a/i;
? ? ? ? ? }
? ? ? ? ? else?i++;
? ? ? ?}
return?0;
}
希望我的回答對你有幫助!