zoukankan      html  css  js  c++  java
  • ACM——3n+1

    3n+1

    时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
    总提交:937            测试通过:386

    描述

    对于任意大于1的自然数n,若n为奇数,则将n将变为3n+1,否则变为n的一半。经过若干次这样的变换,一定会使n变为1。例如3→10 →5→16 →8 →4 →2 →1。现请你计算变换中这些数的平均值,例如上述变换中3、10、5、16、8、4、2和1的平均值为6.125。

    输入

    输入自然数n,n≤106

    输出

    输出从n变换为1过程中所有数的平均值,保留3位小数,格式见样例。

    样例输入

    3

    样例输出

    6.125

    提示

     

     

    题目来源

    NUPT

    #include<iostream>
    #include<stdio.h>
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        int count=1;
        double result=n;
        while(n!=1)
        {
            if(n%2!=0)
                n=3*n+1;
            else
                n=0.5*n;
                result+=n;
                count++;
        }
        result=(result)/count;
        printf("%.3f",result);
        return 0;
    }

     

     

  • 相关阅读:
    flask-scripts
    mysql相关
    day9:函数
    day8:文件操作
    day7:set和深浅copy
    day6:前两小节补充
    day5:字典dict
    day4:数据结构list
    piano class 13
    day3:数据类型 str
  • 原文地址:https://www.cnblogs.com/BasilLee/p/3791573.html
Copyright © 2011-2022 走看看