网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
10月08日漏签0天
c语言吧 关注:799,986贴子:4,364,636
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 下一页 尾页
  • 27回复贴,共2页
  • ,跳到 页  
<<返回c语言吧
>0< 加载中...

一道竞赛题,整了半天没做出来。各位给个算法呗

  • 只看楼主
  • 收藏

  • 回复
  • 哭才好
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
奇怪的比赛
某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:
每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。
每位选手都有一个起步的分数为10分。
某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?
如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的串来表示。例如:0010110011 就是可能的情况。
你的任务是算出所有可能情况。每个答案占一行。


  • 哭才好
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
过两天要考试,复习成这个样子。表示我很挫。。。


2025-10-08 21:29:22
广告
不感兴趣
开通SVIP免广告
  • 哭才好
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
看答案说要用递归,想了半天也没想出来怎么递归。唉。。


  • mabole0130
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
目测题目数小于14道。。。


  • 键盘侠
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
真心无力


  • 别急
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
0010110011
0111010000
1011010000


  • zsdsc2012
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用(int)0~1023表示所有可能再逐个检验. 可以一试


  • 疯花倔呆
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>
int timu[11];
int jisuan()
{
int jieguo=10;
for(timu[0]=1;timu[0]<11;timu[0]++)
if(timu[timu[0]])
jieguo*=2;
else
jieguo-=timu[0];
return jieguo;
}
int main()
{
for(timu[1]=0;timu[1]<2;timu[1]++)
for(timu[2]=0;timu[2]<2;timu[2]++)
for(timu[3]=0;timu[3]<2;timu[3]++)
for(timu[4]=0;timu[4]<2;timu[4]++)
for(timu[5]=0;timu[5]<2;timu[5]++)
for(timu[6]=0;timu[6]<2;timu[6]++)
for(timu[7]=0;timu[7]<2;timu[7]++)
for(timu[8]=0;timu[8]<2;timu[8]++)
for(timu[9]=0;timu[9]<2;timu[9]++)
for(timu[10]=0;timu[10]<2;timu[10]++)
if(jisuan()==100)
{
for(timu[0]=1;timu[0]<11;timu[0]++)
printf("%d",timu[timu[0]]);
printf("\n");
}
}


2025-10-08 21:23:22
广告
不感兴趣
开通SVIP免广告
  • zsdsc2012
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
没用递归,用for


  • 葫芦娃oo
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
也就1024次循环啊


  • solopiggy
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<stdio.h>
void f(char s[],int n,int score)
{
if(n==0)
{
if(score==10)
puts(s);
return;
}
//第n题答错
s[n-1]='0';
f(s,n-1,score+n);
//第n题答对
if(score%2==0)
{
s[n-1]='1';
f(s,n-1,score/2);
}
}
int main()
{
char s[10];
s[10]='\0';
f(s,10,100);
return 0;
}


  • 就酱紫
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
先留着。等会儿看,


  • 贴吧用户_0QtNXay
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用递归不超过10行代码


  • LuoJi_1995
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
记住答案的搜索吧。


2025-10-08 21:17:22
广告
不感兴趣
开通SVIP免广告
  • 佳肴鲜郁鲜o
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>
#include <string.h>
void func(int ncur, int ntime, char* str)
{
if(ncur==100 && ntime==10)
{
puts(str);
return;
}
if(ncur>155 || ntime>9)
return;
str[ntime]='1';
func(ncur*2, ntime+1, str);
str[ntime]='0';
func(ncur-ntime-1, ntime+1, str);
}
int main()
{
char str[]="0000000000";
func(10, 0, str);
return 0;
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 27回复贴,共2页
  • ,跳到 页  
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示