题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。(google面试题) 例如 输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。 分析
来源:互联网 发布:勇敢的心 手游 知乎 编辑:程序博客网 时间:2024/06/10 00:50
例如 输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。
分析:这是一道广为流传的google面试题
一开始我用最开始的思路设计了一个程序,但是这是一个输入的数是有范围限制的一个程序 并不是很完善:
#include<stdio.h>
int main()
{
int a,i=0;
printf("qing shu ru yi ge shu:\n");
scanf("%d",&a);
for(;a>0;a--)
{
if(a%100000/10000==1)
{
i++;
}
if(a%1000/1000==1)
{
i++;
}
if(a%1000/100==1)
{
i++;
}
if(a%1000%100/10==1)
{
i++;
}
if(a%1000%100%10==1)
{
i++;
}
}
printf("%d\n",i);
return 0;
}
完善后的程序输入的数便没有输入范围限制了(通过一个while循环就可以实现):
#include <stdio.h>
#define N 1
int statisticsOneNumber (int i);
int main()
{
int NumInput;
int Count = 0;
int i;
printf("请输入一个整数:\n");
scanf("%d", &NumInput);
for (i = 0; i <= NumInput; i++)
{
Count = Count + statisticsOneNumber(i);
}
printf("%d 一共出现了 %d 次\n", N, Count);
return 0;
}
/*
* 函数的作用是统计单个数中 N 出现的次数,返回次数
*/
int statisticsOneNumber (int i)
{
int Count = 0;
while (i > 0)
{
if (i % 10 == N)
{
Count = Count + 1;
}
i = i / 10;
}
return Count;
}
- 题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。(google面试题) 例如 输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。 分析
- 题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。
- 每天学习一点编程(8)(输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数)
- 每天学习一算法系列(28)(输入一个整数n,求从1 到n 这n 个整数的十进制表示中1 出现的次数)
- 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数
- 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。
- 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数
- 输入一个整数n,求从1 到n 这n 个整数的十进制表示中1 出现的次数
- 输入一个整数n,求从1 到n 这n 个整数的十进制表示中1 出现的次数)
- 输入一个整数n,求从1 到n 这n 个整数的十进制表示中1 出现的次数。
- 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。
- 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数
- 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数
- 输入一个整数n求从1 到n这n个整数的十进制表示中1 出现的次数。
- 经典算法: 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数
- 输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。
- 输入整数n,计算从1到n这n个整数的十进制表示中1出现的次数和
- 【100题】第三十 求从1到n这n个整数的十进制表示中1出现的次数
- 掌上生词本 开发 (一): 顶部导航栏实现
- HDU
- Spreadsheet_Excel_Reader导入EXCEL内容到数据库的时候出现的错误
- win10安装linux虚拟机+hadoop2.7.3
- GAME START
- 题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。(google面试题) 例如 输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。 分析
- 关于Linux进程你所需要知道的一切
- 预置分频器
- Android 通知栏
- Google Earth 点击地标时,程序崩溃的问题
- python(1)缩进
- Delphi控件手工安装方法
- linux命令行下载BT种子和磁力链接
- .通过编程实现,统计1~n有多少个9 (n通过参数传入)