D13. 学习基础C、C++语言

D13. 基础题3n+1跟进阶3n+1(Uva100)

3n+1是很基本的练习题目,题目大致上是输入一个数n,如果为奇数则3n+1,若为偶数则n/2,所以步骤大概是

  1. 输入数字
  2. 判断奇偶
  3. 若为奇数*3+1,为偶数/2
  4. 重复第2、3步骤直到数字为1
#include <stdio.h>
#include <stdlib.h>

int main()
{   
  int n;
  while(scanf("%d",&n)!=EOF){
	     while(n!=1){
           if(n%2==1){
	         n=3*n+1; 
           printf("%d ",n);
           }
           else{
  	     n=n/2;
  	     printf("%d ",n);
	         }
		 }
	printf("\n");
	}
  return 0;
}

进阶题(uva100)

#include<stdio.h>
#include<stdlib.h>

main()
{
 int a,x,y,n,i,j,count,max;
 while(scanf("%d %d",&i,&j)!=EOF)
 { count=1;max=1;
   if(i>j)
    {
      printf("%d %d ",i,j);
      x=i;
      i=j;
      j=x;
    }
    else
      printf("%d %d ",i,j);
   for(a=i;a<=j;a=a+1)
    {
     n=a;count=1;
     while(n!=1){
        if(n%2==1)
            {
			n=n*3+1;
            count=count+1; }
        else
            {
			n=n/2;
            count=count+1; }}
      if(count>max) {max=count;}
    }
   printf("%d\n",max);
 }
 return 0;
}

这里我是先判断两数大小然後再用回圈开始一个一个判断,最後在看新得到的count有没有比max大,需不需要取代掉,最後再print结果


<<:  为了转生而点技能-JavaScript,day24(函式的return观念厘清

>>:  [必学]如何简单快捷备份及还原 Facebook 聊天记录

第 13 天 长痛不如短痛!整理专案|feature module、shared module

前情提要 完成了新增英雄页面、英雄资讯元件後,在我们劝诱青铜五小强之前,让我们先停一停,来重构整个专...

RESTful API 在 Amazon Linux 2 上传图片实作-Day 07

RESTful API 在 Amazon Linux 2 上传图片实作-Day 07 RESTful...

.NET Core第25天_PartialTagHelper的使用_主检视传递资料(单一property跟整个物件)

在之前 .NET Core第13天_View常见操作_Layout布局页_PartialView部分...

Day4- 15. 3Sum

今日题目:15. 3Sum(Medium) Given an integer array nums,...

Sass 变数 与 darken , lighten DAY33

今天我们要来介绍 Sass的变数啦~~ 介绍之前 我们必须先了解 为什麽我们需要它呢?? 当我们原先...