| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:一个算法问题
只看楼主 加入收藏
y29508968
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-10-24
收藏
 问题点数:0 回复次数:30 
一个算法问题
我想判断一下:6个正整数中至少有2个不为零,包括2个,,算法是什么啊 ,,望高人指点。。谢谢
搜索更多相关主题的帖子: 算法 正整数 
2007-10-30 23:10
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
我一看到算法就跑过来看了.呵呵
你的意思是说6位的整数至多含有2个0的,对不对?

倚天照海花无数,流水高山心自知。
2007-10-30 23:14
y29508968
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-10-24
收藏
得分:0 

谢谢,,不是,,是至多有4个,,呵呵 ,比如:1 1 0 0 0 0 ,这是最多的情况,,0不能多于4个,,是这个意思。。

2007-10-30 23:28
albert748
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-10
收藏
得分:0 
说的不太清楚。。。。。

我猜你的大概意思是把一个数拆分开来判断0的个数对吧?

如果是这样的话给你一个方法

比方说330001

用330001/10的5次方=3.30001,把这个浮点数赋值给整形,这样就可以得到一个3,非零
同样,(330001-3的五次方)/10的四次方,再把这个值赋给整形,同样可以得到一个3,非零

同理判断就可以把大数拆分成个位的数了

这个方法具用一般性

不知道是不是你想要的答案?

[此贴子已经被作者于2007-10-31 8:34:11编辑过]

2007-10-31 08:17
ddjk
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-8-16
收藏
得分:0 
呵呵,支持一下。
2007-10-31 08:24
y29508968
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-10-24
收藏
得分:0 


不是,,可能是我说的不清楚,,我是想判断6个非负的整数,,不是一个数中的各个位,这6个整数是不相关的,,你说的是判断一个数中有几个是0.



情况是这样的:我获得了6个独立的非负整数,,他们中至少有2个不是0,,我才能使用这6个数,,否则对我来说这6个数就是无效的 ,所以我要判断一下。

比如6个数:1 1 0 0 0 0 就可以满足我的使用要求,因为他们中至少有2个不是0,,而1 0 0 0 0 0 和 0 0 0 0 0 0就不能满足我的使用要求,,不知道这样说您清楚了没有。

2007-10-31 22:05
为你呼吸
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-10-29
收藏
得分:0 

//刚做的为您解答
#include<stdio.h>
void main()
{
int a,b,c,d,e,f,x,i;
for(x=0;x<=999999;x++)
{ a=x/100000;
b=x%100000/10000;
c=x%10000/1000;
d=x%1000/100;
e=x%100/10;
f=x/10;
i=0;
if(a==0) i++;
if(b==0) i++;
if(c==0) i++;
if(d==0) i++;
if(e==0) i++;
if(f==0) i++;
if(i<=4)
printf("\t%d",x);
}
}

2007-10-31 22:26
hamsleek
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-10-31
收藏
得分:0 
我想了一个,怎么样:

int a[6];
int count=0;
for (i=0;i<6;i++)
{cout<<"please input the six number:";
cin<<a[i];}//得到这六个数
for(i=0;i<6;i++)
{if(a[i]==0)
count++;
}
if(count<=4)
ruturn 1;
else
ruturn 0;

2007-10-31 22:48
y29508968
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-10-24
收藏
得分:0 
回复:(为你呼吸)//刚做的为您解答#include
不好意思,我说的是6个数,,你说的是判断一个数中的各个位,和我说的不一样,,不过还是谢谢你。。呵呵楼下的解适合我
2007-11-01 21:35
y29508968
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-10-24
收藏
得分:0 
回复:(hamsleek)我想了一个,怎么样:int a[6];int c...
呵呵,谢谢,,我想应该是可以,,谢谢您的答案。意思我已经明白了,关键在那个数组上,。
2007-11-01 21:36
快速回复:一个算法问题
数据加载中...
 
   



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

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