PAT初级1001 害死人不偿命的(3n+1)猜想

(主要是怕自己学过就忘记了嘻嘻)

PAT初级1001 害死人不偿命的(3n+1)猜想

直接甩代码粗来~

#include "stdio.h"
int main(void)
{
	unsigned int n;
	short int count = 0;
	if (scanf("%u", &n) == 1) 
	{
    if (n <= 1000)
  	{
		  for (; n != 1;)
	  	{
		  	count++;
		  	if (n % 2 == 0)
			 {
			   	n = n / 2;
		  	}
		  	else
				n = (3 * n + 1) / 2;			
	  	}
  	}
	else
		main();
	printf("%d", count);
	} 
  return 0;
}

注意:直接写成scanf("%u", &n);会出现warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_r的警告PAT初级1001 害死人不偿命的(3n+1)猜想

  • 关于PAT的练习,无关的提示信息不要加
  • 按照其给定的输入案例输出案例严格操作
  • 最后:我的水平我知道,请多多指教,互相学习!如果你骂我我就喷你嘻嘻