输出因子
題目描述
{
?int i,j,v,n;
?scanf("%d",&n);
?for(i=1;i<=n;i++)//找從1到n的數;?
?{
? int a[i],s=0,k=1;//定義數組;?
? for(j=1;j<=i/2;j++)//尋找因子;?
? {
? ?if(i%j==0)//判斷是否為因子;?
? ?{
? ? a[k]=j;//記錄數據;?
? ? s+=j;
? ? k++;
? ?}
? }
? if(s==i)
? {
? ?printf("%d its factors are ",s);
? ?for(v=1;v<k;v++)//調用數據;?
? ?{
? ? printf("%d ",a[v]);//輸出數據;?
? ?}
? ?printf("\n");
? }?
?}
}
一個數如果恰好等于不包含它本身所有因子之和,這個數就稱為"完數"。 例如,6的因子為1、2、3,而6=1+2+3,因此6是"完數"。 編程序找出N之內的所有完數,并按下面格式輸出其因子
輸入N
輸出? its factors are ? ? ?
樣例輸入 1000 樣例輸出 6 its factors are 1 2 3 28 its factors are 1 2 4 7 14 496 its factors are 1 2 4 8 16 31 62 124 248#include<stdio.h>
int main(){
?int i,j,v,n;
?scanf("%d",&n);
?for(i=1;i<=n;i++)//找從1到n的數;?
?{
? int a[i],s=0,k=1;//定義數組;?
? for(j=1;j<=i/2;j++)//尋找因子;?
? {
? ?if(i%j==0)//判斷是否為因子;?
? ?{
? ? a[k]=j;//記錄數據;?
? ? s+=j;
? ? k++;
? ?}
? }
? if(s==i)
? {
? ?printf("%d its factors are ",s);
? ?for(v=1;v<k;v++)//調用數據;?
? ?{
? ? printf("%d ",a[v]);//輸出數據;?
? ?}
? ?printf("\n");
? }?
?}
}
總結
- 上一篇: mysql 存储过程已存在_sql存储过
- 下一篇: 两个数从大到小排列输出