专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C语言

3n+1有关问题

发布时间:2011-06-28 16:19:23 文章来源:www.iduyao.cn 采编人员:星星草
3n+1问题
求救,不知道错在哪里
#include<stdio.h>
int count(int a,int b)
{
  int max=0,len=0,a1;
  while(a<=b)
  {
  a1=a;
  while(a1!=1)
  {

  a1=a;
  if(a1%2==0)
  a1=a1/2;
  else
  a1=3*a1+1;
  len++;

  }
  if (len>max)
  max=len;
  len=0;
  a++;
  }

  return max;
}
int main()
{
  int a,b;
  scanf("%d%d",&a,&b);
  printf("%d %d %d",a,b,count(a,b));
  return 0;
}


------解决方案--------------------
首先建议lz在代码中加入注释,增强可读性;然后就是问题不清,可以在描述的具体一些;最后是代码的问题,在count函数中的第二个while循环中,a1=a这一语句,由于a在循环中没有变化,所以如果a不是2,那么就会进入死循环,没运行过,看起来大概就是这样的。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: