C————5位運動員參加10米臺跳水比賽,對他們名次做出預測。
5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果
A選手說:B第一,我第三。
B選手說:我第二,E第四。
C選手說:我第一,D第二。
D選手說:C最後,我第三。
E選手說:我第四,A第一。
比賽結束後,每位選手都說對了一半,請程式設計確定比賽的名次。
這個問題考到了我們對列舉的認識,接下來讓我們來試著解決這個問題:
#include<stdio.h> int main() { int A = 0,B = 0,C = 0,D = 0,E = 0; for(A=1;A<=5;A++) { for(B=0;B<=5;B++) { for(C=0;C<=5;C++) { for(D=0;D<=5;D++) { for(E=0;E<=5;E++)//這裡將所有人說的話羅列出來,並且每個人只說對了一半,所以他們每個人說的話加起等於1. if(((B==1)+(A==3)==1)&& ((B==2)+(E==4)==1)&& ((C==1)+(D==2)==1)&& ((C==5)+(D==3)==1)&& ((E==4)+(A==1)==1)) {//因為名次是連續的,所以在這裡做個處理:假設A=4,B=2,C=2,D=3,E=5;對假設作出判斷下面進行分析 int num = 0; int flag = 1; num |=(1<<(A-1)); num |=(1<<(B-1)); num |=(1<<(C-1)); num |=(1<<(D-1)); num |=(1<<(E-1)); while(num)//判斷名次是否連續,如果連續就輸出 { if(num%2==0) { flag=0; } num/=2; } if(flag==1) printf("A=%d B=%d C=%d D=%d E=%d\n",A,B,C,D,E); } } } } } return 0; }
上面對ABCDE做出了假設下面是對如何實現判斷的演算法的分析:
相關推薦
C————5位運動員參加10米臺跳水比賽,對他們名次做出預測。
1. 5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果A選手說:B第一,我第三。B選手說:我第二,E第四。C選手說:我第一,D第二。D選手說:C最後,我第三。E選手說:我第四,A第一。比賽結束
問題: 5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 A選手說:B第二,我第三; B選手說:我第二,E第四; C選手說:我第一,D第二; D選手說:C最後,我第三;
5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 A選手說:B第二,我第三; B選手說:我第二,E第四; C選手說:我第一,D第二; D選手說:C最後,我第三; E選手說:我第四,A第一; 比賽結束後,每位
5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 A選手說:B第二,我第三; B選手說:我第二,E第四; C選手說:我第一,D第二; D選手說:C最後,我第三; E選手說:我第四,A第一; 比
#include <stdio.h> int main() { int a = 0, b = 0, c = 0, d = 0, e = 0; for (a = 1; a
5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 A選手說:B第二,我第三; B選手說:我第二,E第四; C選手說:我第一,D第二; D選手說:C最後,我第三; E選手說:我第四,A第一
#include<stdio.h> #include<windows.h> int main() { int a = 0; int b = 0; int c = 0; int d = 0; int
5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 確定比賽的名次
5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 A選手說:B第一,我第三。 B選手說:我第二,E第四。 C選手說:我第一,D第二。 D選手說:C最後,我第三。 E選手說:我第四,A第一。 比
5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 ;楊輝三角形
1、5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 A選手說:B第二,我第三; B選手說:我第二,E第四; C選手說:我第一,D第二; D選手說:C最後,我第三; E選手說:我第四,A第一; 比賽結束後,每位選手都說
5位運動員參加了10米臺跳水比賽+日本某地發生了一件謀殺案+在螢幕上列印楊輝三角
5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 A選手說:B第二,我第三; B選手說:我第二,E第四; C選手說:我第一,D第二; D選手說:C最後,我第三; E選手說:我第四,A第一; 比賽結束後,每位選手都說對了一半,請程式設計確定比賽的名次。 #include <s
C語言:小球從100米的地方下落,求第10次反彈高度,前10次落地總高度
#include<stdio.h> #include<assert.h> //小球從100米的地方下落,求第10次反彈高度,前10次落地總高度 int main() { double a=100;//宣告雙精度型別初值100米 dou
C#小練習(輸入10個數存入陣列中,求最大值、最小值和平均值.)
/* (程式頭部註釋開始) * 程式的版權和版本宣告部分 * Copyright (c) 2011, 煙臺大學計算機學院學生 * All rights reserved. * 檔名稱:
C# WPF MVVM QQ密碼管家項目(7,對QQ登錄界面的自動輸入思路分析)
gdi qq密碼 分享圖片 進行 技術 實現 密碼 窗體 rdquo 7 - 對QQ登錄界面的自動輸入思路分析 在開始寫代碼之前我們得好好研究一下QQ的登錄界面。本項目中操作的QQ版本號為:8.9.5(22062) 自動輸入在c#開發上方法有二:1是獲取輸入框控件句柄然
有哪些10分鐘就能學會,對人生有益的知識或技能?
1.人們傾向於記住最先發生的事情和最後發生的事情。中間的事情記不清楚。所以,如果你要做自我介紹的話,最好做第一個或者最後一個。面試的時候,也是一樣的。 2.如果你在酒吧或者前臺工作,在你身後放一面鏡子。這樣的話,當顧客發脾氣的時候,就能從鏡子裡看到自己的醜惡嘴臉。一面鏡子可以
從0到100隨機抽10個不同的數,然後放入陣列中。再按順序打印出來
import java.util.Random; public class Qushu_dayin { public static void main(String[] args) {
跳水比賽,8個評委打分。運動員的成績是8個成績去掉一個最高分, 去掉一個最低分,剩下的6個分數的平均分就是最後得分。 使用一維陣列 2.請把打最高分的評委和最低分的評委找出來。 3.找出最佳評委
package com.my; import java.io.*; /** * 1.跳水比賽,8個評委打分。運動員的成績是8個成績去掉一個最高分, 去掉一個最低分,剩下的6個分數的平均分就是最後得分。 使用一維陣列 * 2.請把打最高分的評委和最低分的評委找出來。 3.
Dev-C++ 5.10 使用指南
spa mes str space ios div 光標 return 一個 1 /* 2 Name: Dev-C++ 5.10 使用指南 3 File: DebugTest.cpp 4 Copyright: 5 Author:
其他進位制轉化為10進位制和10進位制轉化為其他進位制(均一個函式)c++
今天專門抽出來一點時間來弄一下,進位制轉化的問題,不論是其他進位制轉化為10進位制還是10進位制轉化為其他進位制,均使用同一個函式來完成,只需要手動輸入從哪個進位制轉化為哪個進位制。 程式碼如下: #include <iostream> #include <cmat
C語言 給一個不多於5位的正整數
1.求出他是幾位數 2.分別輸出每一位數字 3.逆序輸出數字 #include<stdio.h> int main() { int a,ww,qw,bw,sw,gw; printf("請輸入一個不多於5位的正整數"); scanf("%d",&a); if
加密演算法:資料是四位的整數對其加密規則如下:每位數字都加上5,然後用和與10求餘後的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換,計算加密後的整數。
程式碼如下: import java.util.Scanner; public class ji { public static void main(String[]args){ Scanner s=new Scanner(System.in); System.
CentOS 5 8 asterisk-1 8 10 1 安裝之一 安裝,新增藍芽支援,新增AMR-NB audio c
為什麼我要安裝比較老的asterisk-1.8.10.1,而不是更加新的穩定版本?因為我還要加AMR-NB audio codec。CentOS使用者準備:useradd asterisk1.下載CentOS 5.8國內高速下載http://mirrors.163.com/ce
BASIC-12 基礎練習 十六進位制轉八進位制 (c++)兩種解法,轉換2進位制或10進位制。
基礎練習 十六進位制轉八進位制 時間限制:1.0s 記憶體限制:512.0MB 錦囊1 使用二進位制。 錦囊2 先把十六進位制轉成二進位制,每位十六進位制正好
C# 2進位制、8進位制、10進位制、16進位制...各種進位制間的輕鬆轉換
在.NET Framework中,System.Convert類中提供了較為全面的各種型別、數值之間的轉換功能。其中的兩個方法可以輕鬆的實現各種進位制的數值間的轉換: Convert.ToInt32(string value, int fromBase): 可以把不同進位制數