| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2765 人关注过本帖
标题:求0—7所能组成的奇数个数
只看楼主 加入收藏
liu155279560
Rank: 1
等 级:新手上路
帖 子:21
专家分:4
注 册:2008-11-13
收藏
 问题点数:0 回复次数:2 
求0—7所能组成的奇数个数
#include "stdio.h"
int main(void)
{

      long sum=4,s=4;
      int j;
      for(j=2;j<=8;j++)                  /*j is place of number*/
      {
          printf("\n%ld",sum);
          if(j<=2)
              s*=7;
          else
              s*=8;
          sum+=s;
      }
      printf("\nsum=%ld",sum);

}
怎么理解程序思想
搜索更多相关主题的帖子: 奇数 
2008-11-14 21:26
jay6254825
Rank: 1
来 自:江西师范大学软件
等 级:新手上路
帖 子:54
专家分:0
注 册:2008-11-14
收藏
得分:0 
j=2代表第二位数,j<=8是一个有八位数,第一位只能为4个数,所以s=4.
我看了程序运行结果,它是分别把一位数到八位数中只能为0-7组成的奇数个数算出来,并相加,且最高位不能为0.
一位数明显只有4个,
二位数第一位有4个,最高位第二位有7个,据数学排列组合,所以s*=7,加上第一位4个就是sum+=s;
三位数就是S=7*8*4,四位数就是7*8*8*4...以此类推.

他很巧妙的通过for循环将0-7组成的奇数分成1位到八位,并且找到每一位之间的关系,再将结果叠加起来。

[[it] 本帖最后由 jay6254825 于 2008-11-14 23:23 编辑 [/it]]

                                       我是J!~~
2008-11-14 23:15
liu155279560
Rank: 1
等 级:新手上路
帖 子:21
专家分:4
注 册:2008-11-13
收藏
得分:0 
回复 2# 的帖子
也就是说个各位上的数字是可以重复的?
例如:11111111这个数行吗?
2008-11-15 01:58
快速回复:求0—7所能组成的奇数个数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040823 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved