uva1599_cumulative iteration number

uva1599_cumulative iteration numberProblemC:Self­describingSequence SolomonGolomb’s self­describingsequence  istheonlynon­decreasingsequenceofpositiveintegerswiththepropertythatitcontainsexactly f(k)

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

  Problem C: Self­describing Sequence 

Solomon Golomb’s 
self­describing sequence
 

$\langle f(1), f(2), f(3), \dots \rangle$
 is the only non­decreasing sequence of positive integers with the property that it contains exactly 
f
(
k
) occurrences of 
k
 for each 
k
. A few moments thought reveals that the sequence must begin as follows:

\begin{displaymath}\begin{array}{c\vert cccccccccccc}\mbox{\boldmath $n$} & 1 &......)$} & 1 & 2 & 2 & 3 & 3 & 4 & 4 & 4 & 5 & 5 & 5 & 6\end{array}\end{displaymath}


In this problem you are expected to write a program that calculates the value of 
f
(
n
) given the value of 
n
.

Input 

The input may contain multiple test cases. Each test case occupies a separate line and contains an integer n ( $1 \le n \le 2,000,000,000$). The input terminates with a test case containing a value0 for n and this case must not be processed.

Output 

For each test case in the input output the value of f(n) on a separate line.

Sample Input 

100
9999
123456
1000000000
0

Sample Output 

21
356
1684
438744


Miguel Revilla 
2000-12-26

#include <cstdio>
#include <cstdlib>
#include <cassert>
#include <cstring>

/*
 * n    1  2  3  4  5  6  7  8  9 10 11 12 ...
 * f(n) 1  2  2  3  3  4  4  4  5  5  5  6 ...
 */

const int NMAX = 1000000;

void solve()
{
    int n;
    if (scanf ("%d", &n) == EOF || 0 == n) {
        exit (0);
    }

    static int g[NMAX];
    g[0] = 0;
    g[1] = 1;

    int i = 1;
    int fi = 1;
    int k = 1;

    while (g[i - 1] < n) {
        g[i] = g[i - 1] + fi;
#ifndef ONLINE_JUDGE
        printf ("g[%d] = %d\n", i, g[i]);
#endif
        if (++i > g[k]) {
            ++fi;
            ++k;
        }
        assert (i < NMAX);
    }

    printf ("%d\n", i - 1);
}

int main (int argc, char **argv)
{
    while (true) {
        solve();
    }
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188752.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • idea Tomcat日志乱码问题

    idea Tomcat日志乱码问题找到tomcat日志文件修改编码格式即可全部改成GBK编码格式,重启idea即可

  • 用SpringBoot手把手教你写出优雅的后端接口

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 前言 一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(reque…

  • 《我的极品媳妇》方志强 王亚欣 小说读后感

    《我的极品媳妇》方志强 王亚欣 小说读后感男主角方志强博爱和善良的性格及对待生活的刚毅和坚韧让人敬佩,无论是对待自己的背叛过的兄弟还是互殴的光头都是义字当头,对无耻小人以及伤害身边家人的败类绝不手软,如此种种人格魅力的塑造相当完美;但唯一的缺点是对感情的优柔寡断。在本书中始终在反复得而复失幸福的痛苦中挣扎,但这些也是方志强感情方面性格缺陷导致的。女主王亚欣温柔、贤惠、成熟、多金、坚强、最主要的出身平凡,和男主方志强起步阶段是同一类型的。…

  • DirectX修复工具 4.0 标准版[通俗易懂]

    DirectX修复工具 4.0 标准版[通俗易懂]简介:DirectX修复工具是一款专用于修复系统异常的工具,DirectX修复工具还是一款使用简单易上手操作且绿色、可免安装的修复工具。使用DirectX修复工具可自动更新C++组件且完美修复0xc000007b问题异常。如果你的电脑出现了DirectX的异常问题,可直接下载DirectX修复工具进行修复解决。DirectX修复工具功能特色:1、一键完成检测修复,只要简单一键选择就能完成检测、修复、注册等一系列问题,使用门槛低,操作简单,真正的傻瓜设计。2、适用多个操作系统,directx修

  • cts测试套件下载(4V)

    目录概述组织caseCTS框架配置文件测试case配置文件启动框架CtsConsoletest组件CtsTest测试类型执行命令总结1概述CTS测试框架是有两个版本的,Android6.0以及之前的版本都统称为V1版本,7.0以及之后的版本为V2(目前Android版本已经迭代到AndroidO了,目前还是用的V2框架),其实两者都是基于基础框架Trade-Federat

  • JAVA中使用alibaba fastjson实现JSONObject、Object、Json字符串的转换

    JAVA中使用alibaba fastjson实现JSONObject、Object、Json字符串的转换Object转JSON字符串:StringjsonStr=JSONObject.toJSONString(object);JSON字符串转JSONObject:JSONObjectjsonObject=JSONObjcet.parseObject(jsonStr);JSON字符串转Object对象Tt=JSON.parseObject(jsonStr,…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号