将n转化为黄金进制,注意到题目中所给fai进制公式:

f[n-1]+f[n-2]=f[n],2*f[n]=f[n+1]+f[n+2]

然后设a[50]为n,这样一遍一遍利用这两个公式变换,一直到无法变换。

 1 #include<stdio.h>
 2 #include<string.h>
 3 int a[105];
 4 int main()
 5 {
 6   int n,from,to,go,i,tmp;
 7   while (~scanf("%d",&n))
 8   {
 9     memset(a,0,sizeof(a));
10     a[50]=n;
11     while (1)
12     {
13       go=0;
14       for (i=1;i<=100-2;i++)
15         if (a[i]&&a[i+1])
16         {
17           tmp=a[i]<a[i+1]?a[i]:a[i+1];
18           a[i]-=tmp;  a[i+1]-=tmp;
19           a[i+2]+=tmp; go=1;
20         }
21       for (i=3;i<=100-1;i++)
22         if (a[i]>=2)
23         {
24           a[i-2]+=a[i]/2; a[i+1]+=a[i]/2;
25           a[i]-=a[i]/2*2; go=1;
26         }
27       if (!go) break;
28     }
29     from=to=-1;
30     for (i=100;i>=1;i--)
31       if (a[i]==1){
32         to=i;
33         if (from==-1) from=i;
34       }
35     for (i=from;i>=to;i--)
36     {
37       if (i==49) printf(".");
38       printf("%d",a[i]);
39     }
40     printf("\n");
41   }
42 }

View Code

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4814

转载于:https://www.cnblogs.com/xiao-xin/articles/4280767.html

hdu4814 黄金进制转换相关推荐

  1. python中不同进制的整数之间可以直接运算_Python 进制转换、位运算

    一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...

  2. c语言进制转换pdf下载,C语言实现任意进制转换.doc

    C语言实现任意进制转换.doc includestdio.h#includemath.h#includestring.hvoid dtox(double num,int jz)char xnum100 ...

  3. 进制转换converse

    栈和队列是在软件设计中常用的两种数据结构,它们的逻辑结构和线性表相同. 其特点在于运算受到了限制:栈按"后进先出"的规则进行操作,队按"先进先出"的规则进行操作 ...

  4. 进制转换 位运算(包括补码、原码、反码、~0等一些零碎东西一次说清)

    我发现网上关于标题上的内容介绍的都很零碎,因此为了方便查找.也为了本人对这一部分的充分理解,就想着写一篇这样的博客(我分成了几个部分,以便查找): 一.进制转换 让我们先来看看各个进制的定义: 十进制 ...

  5. 每日一题(进制转换)

    前言:为了让小伙伴更方便的学习编程语言,小白每天都会分享一道编程题.小白也创建了一个微信公众号,会同步更新题目和相关的视觉领域的知识,如果小伙伴不方便在网页上阅读文章,可以关注微信公众号"小 ...

  6. 进制转换数据结构c语言不用栈,急求!!!用数据结构(C语言)利用栈实现十进制向二(八)进制转换,要有注释,谢谢!...

    匿名用户 1级 2013-12-05 回答 #include #include #include typedef unsigned int data_type; //结点数62616964757a68 ...

  7. 计算机中的数制和编码教案,计算机《数制与编码进制转换》公开课教案.doc

    <计算机应用基础>教案 新田县职业中学 蒋玲 PAGE PAGE 7 数制与编码--进制转换 [学情分析]本课内容是在学生已经学习了计算机发展与应用.计算机系统的组成等知识的基础上进行,已 ...

  8. 进制转换(完成Python14作业的背景补充)

    来源于小甲鱼进制转换视频 数的认识 数,是一个无形的.抽象的概念,它是人类用来表示数量的一个智力的产物 "一百"是一个抽象概念,用到计数书本有几页就会变成具体的.有形的概念 我们要 ...

  9. python 进制转换_Python数据结构与算法——递归应用之进制转换

    高考加油 在前面的文章中堆栈也用于进制转换(存放余数).而递归也可以用于进制转换,有固定模式循环,并且可以规模越来越小的问题都可以转换成递归 栈与递归之间一定有点联系 整数转换成任意进制 日常运算都是 ...

最新文章

  1. C/C++学习笔记之指针体系
  2. 成就更卓越、更有意义的人生
  3. 2018 AI 产品趋势:喧嚣的追风者和静默的收割人
  4. 【工具】ApkTools
  5. 深度学习总结:cycleGAN原理,实现图片风格切换,可以和之前的伪DL方式对比一下,pytoch实现
  6. 【BZOJ2120】数颜色,带修莫队
  7. 测试次数----2018年第九届蓝桥杯C/C++省赛B组 第四题
  8. 基于Java的智能问答系统
  9. CodeForces 27A Next Test(简单hash)
  10. combineByKey实例详解
  11. simotion基本功能手册_深入浅出西门子运动控制器:SIMOTION实用手册
  12. Sketch56.1汉化
  13. Laravel 数据库 - 数据填充
  14. 浅谈几个倾斜摄影三维模型的修补软件
  15. snmpset对象不可写_写 I/O 路径 (FTT1/RF2) 对比 – Nutanix vs VMware vSAN
  16. 数据结构的一些基本术语概念-严蔚敏老师
  17. ICP许可证怎么申请?
  18. P5594 模拟赛(乱搞)
  19. 华为云开发者官网首页焕新升级,赋能开发者云上成长
  20. 用华为手机,别忘记打开这个“开发者选项”,能瞬间提升手机性能

热门文章

  1. 解决idea的.gitignore有时不起作用的问题
  2. 异常:Error resolving template “xxx“, template might not exist or might not be accessible...解决办法
  3. Postgres无法连接到服务器
  4. 用于创建二维数组的语法
  5. 看看什么是藏匿而不申请[重复]
  6. 在Java中从字符串中删除空格
  7. Linux定时任务cron及部分Linux命令
  8. 计算机考试属于相对性评价还是绝对性评价,【易错检测】查漏补缺第46天 — 相对性评价与绝对性评价...
  9. java线程属性_Java 并发 线程属性
  10. python的方向_Python Shell下方向键显示「^[[C^[[D」修复方法