| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 603 人关注过本帖
标题:韩信点兵题,无法输出
只看楼主 加入收藏
B丙乙Y彡
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2015-8-4
收藏
 问题点数:0 回复次数:8 
韩信点兵题,无法输出
#include<stdio.h>
main(){
    int a, b, c;
    int P = 0, kase = 0;
    while((scanf("%d%d%d", &a, &b, &c) == 1) && a != EOF){
        
        P = a*70 + b*21 + c*15;
        for(;P > 100;P = P - 105);
        
        if((P >= 10) && (P <= 100))
            printf("Case %d: %d\n", ++kase, P);
        else
            printf("Case %d: No.answer", ++kase);   
        
    }
    return 0;
}
2015-08-04 13:37
sunbeam_
Rank: 3Rank: 3
来 自:我家
等 级:论坛游侠
威 望:1
帖 子:31
专家分:113
注 册:2015-8-2
收藏
得分:0 
把scanf后面那个1改成3
scanf的返回值是接收到的变量的个数

爱好计算机的电气学渣
2015-08-04 13:46
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
先告诉大家什么叫“韩信点兵题”
2015-08-04 13:49
sunbeam_
Rank: 3Rank: 3
来 自:我家
等 级:论坛游侠
威 望:1
帖 子:31
专家分:113
注 册:2015-8-2
收藏
得分:0 
是啊  提问要有诚意  题目都不说清楚

爱好计算机的电气学渣
2015-08-04 14:03
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
从其烂代码反推题目,我猜是这样:
对于一个数p,p%3=a,p%4=b,p%7=c,现在已知大于0的a,b,c求符合条件的最小自然数(或许是最小非负数)p。
输入一行行的3个非负整数(直到输入的a为某值时,结束),输出符合条件的p,如果没有……(猜不出来了,因为代码中还有找不到答案的情况)
2015-08-04 14:10
B丙乙Y彡
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2015-8-4
收藏
得分:0 
回复 3楼 rjsp
sorry,没说明白韩信点兵算法

[ 本帖最后由 B丙乙Y彡 于 2015-8-4 14:22 编辑 ]
2015-08-04 14:19
B丙乙Y彡
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2015-8-4
收藏
得分:0 
回复 2楼 sunbeam_
谢谢
2015-08-04 14:19
B丙乙Y彡
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2015-8-4
收藏
得分:0 
回复 4楼 sunbeam_
韩信点兵,我国很古典的算法之一。没说明白,sorry
2015-08-04 14:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
终于搜到了一个和楼主代码相近的题目
程序代码:
话说这天韩信在项王手下吃了败仗,最后带着自己零散的部队撤出了战场.这个时候他想知道自己部队士兵的具体人数(当然了他也不可能从我们项王手下带走超过100的士兵的)。聪明的韩信也不想直接清点自己军队的人数的(再浪费时间的估计这些士兵他也带不走了……),于是他让士兵先后以三人一排,五人一排,七人一排然后他只看了一眼队伍的排尾人数(分别用a , b, c表示)就知道了总人数。现在聪明的你们如果给你三个非负整数a,b,c,你知道军队的总人数吗?已知总人数不超过100,不小于10。

Input
包括多组测试数据,每组数据包括三个非负整数 a,b,c 。

Output
如果军队的总人数在10—100之间则输出军队的总人数,否则输出 No answer。

Sample Input
2 1 6
2 1 3

Sample Output
41
No answer
差别只有:每行输出前不带有"Case %d: ",人数不在[10,100]范围内时输出“No answer”,而不是楼主的“No.answer”
2015-08-04 14:33
快速回复:韩信点兵题,无法输出
数据加载中...
 
   



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

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