作业帮 > 综合 > 作业

C语言的一道编程题目题目大概是这个意思吧.就是想知道算法,不用具体写代码出来了.下面是我的思路,不知道去数的时候怎么写输

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 07:13:46
C语言的一道编程题目

题目大概是这个意思吧.就是想知道算法,不用具体写代码出来了.下面是我的思路,不知道去数的时候怎么写

输入n表示输入数字的个数

2.输入0到6之间 n个数字

3.从n个数字钟任意抽取 <=n个数字组合成能被90整除的最大数字

 

个位必为0吧,只要前面的数字加起来能被9整除就行了,我的想法是 把这些数用数组接收,然后检查要是这些数字中没有0,那么必然不存在.要是有0,就先排序,将排序后的各个数字加起来%9,等于0,就是最大的数了,要是不等于0,那么就先考虑去掉一个数的情况,如果这些数中 有等于%9的值的那么直接去掉就行了.要是去掉一个数的情况不成立,那么考虑去掉两个数的,从最小的开始两两相加 =前面的余数,去掉就行了,要是去掉两个数字的情况还是不成立,就要考虑3个数.4个数.这样一直下去吗?这样显示不是太好吧.而且不知道该怎么写了


是 0 到 5 之间
C语言的一道编程题目题目大概是这个意思吧.就是想知道算法,不用具体写代码出来了.下面是我的思路,不知道去数的时候怎么写输
不用排序.设一个数组a[6].输入数据时,存储每一个数出现的次数 比如用户输入5 则 a[5]+1;
计算时先看a[0]是否>0 不大于就不存在 .大于则-1;
然后相加%9看余数.
然后你就要看 a[1]-a[5]那些不存在了.看缺多少,分为5种情况去分析下.
我的思路是这样,你参考下
再问: ''然后你就要看 a[1]-a[5]那些不存在了。看缺多少,分为5种情况去分析下。''这里没有看懂。。。不过我是这样的想的 把余数分为9中情况 0 1 2 3 4 5 6 7 8.。。感觉有点繁琐,不知道你有什么好的方法。。。另外非常感谢你提供的这种方法, 看了以后我学到了很多,谢谢。。