题目:求0—7所能组成的奇数个数。 输出所有的奇数

题目:求0—7所能组成的奇数个数。程序源代码:main(){longsum=4,s=4;intj;for(j=2;j<=8;j++)/*jisplaceofnumber*... 题目:求0—7所能组成的奇数个数。

程序源代码:
main()
{
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);
}
麻烦重写个好点的,加注释的程序,这个我看不懂哈!!!
展开
 我来答
rebirth_py
2011-08-01 · 超过19用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:48.8万
展开全部
这道题说的有问题,如果求0—7所能组成的奇数个数那就有无数个!!!应该是求0—7所能组成的‘不超过 j 位’奇数的个数。上面那个程序中的 j 就是这个意思。
1位的时候是p(4,1)=4个。(1,3,5,7)
2位的时候是p(7,1)*p(4,1)=7*4个。(十位可为1-7任意一个数,个位为1,3,5,7中一个)
3位的时候是p(7,1)*p(8,1)*p(4,1)=7*8*4个。(百位为1-7中,十位0-7中,个位1,3,5,7中)
4位的时候是p(7,1)*p(8,1)*p(8,1)**p(4,1)=7*8*8*4个。
.............
此外还有一个累加的过程,不超过两位的奇数就是一位的+两位的=4+4*7=32
上面那个程序就是这个原理!!
匿名用户
2021-11-03
展开全部
刷到这题,一开始看到的答案有些懵。于是就通过答案来确定原题是怎么一回事。
0-7的数字,组成的不超过7位数的奇数的个数。
由固定数量的数字组成的数,首先想到的是进制。这里是0-7,8个数字。于是该题就变成了8进制下 77777777之内有多少个奇数的问题。显然就是8!/2=8388608。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
那啥07
2020-08-27 · TA获得超过663个赞
知道答主
回答量:96
采纳率:100%
帮助的人:5.8万
展开全部
这个题目有点问题,它没说计算出多少位,又没说是否能重复数字头疼的题目
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dd72
2017-08-03
知道答主
回答量:1
采纳率:0%
帮助的人:962
展开全部
public static void main(String[] args) {
int sum=32;
for(int i=3;i<=7;i++)
{
sum+=(sum*8);
System.out.println(sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
正版卡洛
推荐于2017-10-06 · TA获得超过169个赞
知道答主
回答量:39
采纳率:100%
帮助的人:11.3万
展开全部
public class Test43{
public static void main(String[] args){
int count = 0;
//声明由数字组成的数
int n = 8;
//一位数
count = n/2;
//两位数
count += (n-1)*n/2;
//三位数
count += (n-1)*n*n/2;
//四位数
count += (n-1)*n*n*n/2;
//五位数
count += (n-1)*n*n*n*n/2;
//六位数
count += (n-1)*n*n*n*n*n/2;
//七位数
count += (n-1)*n*n*n*n*n*n/2;
System.out.println("0-7所能组成的奇数个数:"+count);
}
}
这个是不大于七位的数字允许重复的奇数个数,想要几位的话可以自己改。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式