背景: #EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读新闻

[推荐]记数问题

[日期:2014-05-07] 来源:信息组  作者:欧亚鹏 [字体: ]

【问题描述】 
    试计算从1到n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如:
 1到11中,即1,2,3,4,5,6,7,8,9,10,11中数字1出现了4次。
 
【输入】
 从键盘输入2个整数分别赋给变量n和x(n和x之间用空格间隔)
 
【输出】
 输出一个整数,表示x出现的个数
  
【输入输出样例】
 11 1
 4
 
本题是2013年全国信息学奥林匹克复赛的第一道题,主要考察对循环、条件以及如何利用整数之间基本运算算法思想解决一些实际问题的能力。希望大家认真思考,独立完成!
 
 
________________________程序参考______________________________
 
int n,x;
int k; //充当角色:临时工具
int m=0; //充当角色:记数器
scanf(“%d%d”,&n,&x);
for(int i=1;i<=n;i++)//----------外循环控制1---n的范围
{
   k=i;
   while(k>0)//内循环分析每个整数所包含x的个数,重点理解内循环的作用
   {
      if(k%10==x)
         m++;
      k=k/10; //重点理解这一步
    }

printf(“%d”,m);
 
 
另附样例输入输出5组数据供测试:
 
第1组:
97 7
20
第2组:
765432 2
486694
第3组:
10000 0
2893
第4组:
999999 9
600000


阅读:
录入:admin

推荐 】 【 打印
上一篇:[推荐]递推算法的经典例子
下一篇:
相关新闻      
本文评论       全部评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款