一、题目:

给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现“1”的个数。要求: 1.写一个函数 f(N) ,返回1 到 N 之间出现的“1”的个数。例如 f(12)  = 5。2.在32位整数范围内,满足条件的“f(N) =N”的最大的N是多少。

二、思路:
这道题偏向数学的推理,其根本在于找规律,而规律则在于将所给的数进行分解,分成个十百千等位数的个体,再从每个中寻找规律。通过整理,每一位有多少个1只与其前后两位有关系,具体算法程序如下:
三、源程序

 1 #include<iostream.h>2 #include<stdlib.h>3 int main()4 {5     int num;6     int count=0; 7     int flog=1; 8     int low=0;9     int now=0;
10     int high=0;
11     cout<<"请输入数字:   ";
12     cin>>num;
13     while (num/flog!=0)
14     {
15         low=num-(num/flog)*flog;
16         now=(num/flog)%10;
17         high=num/(flog*10);
18         switch (now)
19         {
20         case 0:
21             count=count+high*flog;
22             break;
23         case 1:
24             count=count+high*flog+low+1;
25             break;
26         default:
27             count=count+(high+1)*flog;
28             break;
29         }
30         flog=flog*10;
31     }
32     cout<<num<<"中出现数字1的个数为:"<<count<<endl;
33     return 0;
34 }

四:实验截图

五、实验总结

刚开始的时候我们的想法是找到一个通用的总结公式,但是在想了一段时间之后发现,这不是一个公式所能解决的,所以最好的方法就是找规律。在和同伴的不断总结之后,我们发现了规律,最终是实现了程序。

转载于:https://www.cnblogs.com/myblog1993/p/4470368.html

结对开发----找一相关推荐

  1. 结对开发----找出“水王

    一.题目 三人行设计了一个灌水论坛.信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个"水王",他不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该"水王&quo ...

  2. 结对开发——返回一个整数数组中最大子数组的和 (首尾相接版)

    一.题目及题目要求 题目:返回一个整数数组中最大子数组的和. 要求: (1)输入一个整形数组,数组里有正数也有负数. (2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. (3)如果 ...

  3. 结对开发--求二维数组的最大子数组

    小组成员:信1201-1班  黄亚萍 信1201-1班  袁亚姣 一.题目要求 程序要使用的数组放在一个叫 input.txt 的文件中,  文件格式是: 数组的行数, 数组的列数, 每一行的元素,  ...

  4. 软件工程课堂作业(八)——结对开发(三)

    一.题目及要求: 题目:返回一个整数数组中最大子数组的和. 要求(新加):①要求程序必须能处理1000个元素:②每个元素都是int32类型的. 结对人员:焦燕   胡亚宝 二.设计思路: ①处理100 ...

  5. 结对开发 随机产生数组并求最大子数组的和

    一.题目 返回一个整数数组中最大子数组的和. 输入一个整型数组,数组里有正数也有负数: 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和: 求所有子数组的和的最大值.要求时间复杂度为O( ...

  6. 结对开发——一维数组最大子数组判断溢出

    一 题目 求一维数组最大子数组和 要求:1000个数以上,整数 二.设计思路 最大子数组很好找到,但是子数组和的溢出问题很难解决. 经过不断的思考,我得出了结论: 溢出是程程序设计者设计时的不足所带来 ...

  7. 结对开发2(求二维数组的最大子数组和)

    一,题目要求: 输入一个二维数组,求出此二维数组的最大子数组和. 二,设计思路: 利用for循环进行遍历,求出数组中每一个子数组的和,最终求出这些子数组的最大的一个值.程序中利用了调用函数,被调函数分 ...

  8. 结对开发——返回一个整数数组中最大子数组的和

    一.题目要求 1.输入一个整型数组,数组里有正数也有负数. 2.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 3.求所有子数组的和的最大值.要求时间复杂度为O(n). 二.设计思想 ...

  9. 用友nc65 uap开发找产品功能源代码

    用友nc65  uap开发找产品功能源代码 1.目标:在我们开发中,很多时候我们看到产品有的功能二开的时候需要使用相关功能,这个时候怎么去参考产品相关功能源代码呢?如我们需要收款结算录入节点的联查凭证 ...

最新文章

  1. linux 程序收到sigsegv信号_信号
  2. 电脑有摄像头吗_知道ip地址就能入侵摄像头吗?
  3. NET工程师求职面试必杀技
  4. PHP学习01:引入表格解析并发送给网页
  5. linux++命令+q,linux 命令 - osc_panqs2jh的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 用html制作广告图片切换效果,基于jquery实现图片广告轮换效果代码
  7. modbus tcp主站和从站_【智】S7200PLC与台达变频器MODBUS轮询实时读取详解
  8. 深入Java中文问题及最优解决方法--上(转)
  9. python中ntlk报错及解决
  10. python wrapper_Python functools之partial, update_wrapper, wraps
  11. 图形界面编程成就了C++
  12. 【语音去噪】基音matlab GUI音频信号去噪【含Matlab源码 1386期】
  13. Linxu终端远程协助工具termpair
  14. 序列解包(for x,y in zip(keys, values):)详解。
  15. postman 定时任务
  16. 二十一个心理学效应 笔记
  17. 1756冗余_冗余电源1756-PA75R
  18. 在MT终端模拟器中使用Termux命令
  19. c语言自学考1课后答案,C语言理论练习题(1)及参考答案
  20. 我的 Typora IDEA 雅黑主题

热门文章

  1. mysql sql 事务写作_mysql中的事务
  2. mysql 索引 死锁,由不同的索引更新解决MySQL死锁套路
  3. 神了!阿里资深大牛熬夜整理Python学习路线,终于开放了
  4. 面试官:你都工作3年了,连选择排序法都不会,我怎么能选择你
  5. ASP.NET MVC – 视图简介
  6. Docker 服务终端 UI 管理工具
  7. 计算机浙大网java网站,网络课程—非计算机专业JAVA程序设计语言
  8. 关于学习Python之后的一点总结(1->符号优先级->for->range())
  9. [NC23486]小A与小B 双向广搜
  10. Codeforces Round #370 (Div. 2)E. Memory and Casinos[期望概率+线段树区间合并]详细推导