C语言实例 一个很好的编程题_C/C++语言_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

C语言实例 一个很好的编程题

作者:黑客防线网安C/C++教程基地 来源:黑客防线网安C/C++教程基地 浏览次数:0

本篇关键词:编程一个实例语言
黑客防线网安网讯:  今天在某qq群见到有人问下面这个题目,当时没太多思路,跟他讨论了下,突然想出了做法。  于是,马上编程实践,没想到,不久就把它实现了。好有成就感。。。  1+11+111+1111+.........
  今天在某qq群见到有人问下面这个题目当时没太多思路跟他讨论了下,突然想出了做法
  于是,马上编程实践,没想到,不久就把它实现了好有成就感。。。
  1+11+111+1111+..........+11.....11(最后为2009个1) 求和中共有几个1
  (以上为10进制数)
  我的答案:
  1 #include <stdlib.h>
  2 #include <stdio.h>
  3 #define size 2009
  4
  5 void main()
  6 {
  7 int result[size] = {0};//存结果中每位所得到的进位值
  8 int count = 0;//结果中1的个数
  9 int numOfbit=size;//存现在判断的位不加进位的值
  10
  11 for(int i=0;i<size;i++)
  12 {//循环判断结果中每位是否为1,并处理进位
  13 if(1 == (numOfbit + result[i])%10)
  14 {//判断此位是否为1
  15 count++;
  16 }
  17
  18 if(numOfbit>9)
  19 {//处理进位
  20 int val = numOfbit%10;
  21 int bit = i+1;//要进位的对应位下标
  22 do
  23 {
  24 result[bit] += val%10;
  25 val = val%10;
  26 bit++;
  27 }
  28 while(val>=10);
  29 }
  30 numOfbit--;
  31 }
  32
  33 printf("结果中1的个数为%d ",count);
  34 }
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-15462-1.html
网站维护教程更新时间:2012-04-04 22:55:16  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer