首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

算亲密数,该怎么解决

2012-02-28 
算亲密数我想算215与75是否为亲密数#includestdio.h#includeconio.hvoidmain(){inta215,b75,c,d,i1

算亲密数
我想算215与75是否为亲密数  
#include   <stdio.h>
#include   <conio.h>
void   main()
{
          int   a   =   215,b   =   75   ,   c   ,   d   ,   i=1   ,   j=1;
          for   (c   =   1   ,   i   =   0;   c   <=   a;c++);
          {
          if   (0   ==   a   %   c)
          {
          i+=c;
          }
          }
          for   (d   =   1   ,   j   =   0;   d   <=   b;d++);
          {
          if   (0   ==   b   %   d)
          {
          j+=d;
          }
          }
         
          printf( "%d|%d\n ",a,b);
          printf( "%3d|%d ",i,j);
  getch();
}
后来,我想看一下i,j最后到底是多少。
我一看,是0。我又调试了一下,发现它根本没有执行那个循环,有人能告诉我是为什么吗

[解决办法]
for (c = 1 , i = 0; c <= a;c++);//多了一个分号
[解决办法]
#include <iostream>
#include <cmath>
using namespace std;
int yinzi(int m)
{
int h=0;
for(int i=1;i <=m/2;i++)
{
if(m%i==0)
{
h+=i;
}
}
return h;
}

void main()
{
int m,n;
cout < < "输出0到10000的亲密数 " < <endl;
for(int i=2;i <=10000;i++)
{
m=yinzi(i);
yinzi(m);
if((i==yinzi(m))&&(m!=i))
{
cout < <i < < "和 " < <m < < "是亲密数 " < <endl;
}
}
cin> > n;
}




[解决办法]
for (c = 1 , i = 0; c <= a;c++);//多了一个分号
[解决办法]
#include <stdio.h>
#include <conio.h>
void main()
{
int a = 215,b = 75 , c , d , i=1 , j=1;
for (c = 1 , i = 0; c <= a;c++); // 多了个分号
{
if (0 == a % c)
{
i+=c;
}
}
for (d = 1 , j = 0; d <= b;d++); // 多了个分号
{
if (0 == b % d)
{
j+=d;
}
}

printf( "%d|%d\n ",a,b);
printf( "%3d|%d ",i,j);
getch();
}

热点排行