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

用C语言验证一个集合有关问题,请

2012-04-19 
用C语言验证一个集合问题,请高手指点假设有一个集合alefh11+2+3+……+n, 与它当中的每一个元素对应可以构成

用C语言验证一个集合问题,请高手指点
假设有一个集合alefh1=1+2+3+……+n, 与它当中的每一个元素对应可以构成一个集合alefh0=1+2*2+3*3+……+n*n,那么这两个集合是否具备一一匹配的关系?也就是说,alefh1是否等于alefh0?下面是用C语言写成的代码:
#include <stdio.h>

//验证阿列夫0是否具备良序

main() //如果有,返回0
{  
  long long alefh0;long alefh1;long n; //阿列夫总和,阿列夫集合的元素 ,元素是正整数集,用无穷i做比较,n是数组

  n = 2; //从正整数2开始递增,以至无穷
  alefh1 = 1; //alefh初始值为1
  alefh0 = 1; //alefh0初始值为1

  alefh1 = alefh1 + n; //alefh1 = 1+2+3+……+n
  alefh0 = alefh0 + n*n; //alefh0 = 1+2*2+3*3……+n*n
  while(alefh1 != alefh0)
  ++n;
  printf("It's okay\n");
   
  return 0;
}
执行此程序,长时间无果,请高手出来指教。

[解决办法]
技术问题为什么要发在非技术区?
[解决办法]
while(alefh1 != alefh0)
++n;
死循环, 怎么可能有结果啊,应改为:
 while(alefh1 != alefh0)
{
++n;
alefh1 = alefh1 + n; 
alefh0 = alefh0 + n*n; 
}

热点排行