猜数字

猜数字

无人久伴 提交于 2020-02-22 08:28:32
package main import ( "fmt" "math/rand" "time" ) func main() { randNum := creatRandNum() randSlice := make([]int, 4) inputSlice := make([]int, 4) famtterNum(randSlice, randNum) fmt.Println(randNum) //打印随机数 var inputNum int for true { fmt.Println("请输入一个四位数:") fmt.Scan(&inputNum) if inputNum > 999 && inputNum < 10000 { famtterNum(inputSlice, inputNum) for i := 0; i < 4; i++ { if randSlice[i] > inputSlice[i] { fmt.Printf("第%d数字小了\n", i+1) } else if randSlice[i] < inputSlice[i] { fmt.Printf("第%d数字大了\n", i+1) } else { fmt.Printf("第%d数字猜对了\n", i+1) } } } } } //生成随机数 func creatRandNum() int { rand

猜数字游戏

送分小仙女□ 提交于 2020-02-13 03:53:08
/*猜数字游戏 * * * */ public class Demo { public static void main(String[] args) { //随机产生0-100的整数 int a = (int) (Math.random()*100); int b = (int) (Math.random()*100); int sum = a+b; //提示用户输入2个整数的和 Scanner sc = new Scanner(System.in); System.out.println("请输入2个整数的和"); int c = sc.nextInt(); //猜数字 for(;;){ if(c==sum){ System.out.println("恭喜你猜对了!!"+a+"+"+b+"="+sum); break; }else if(c>=sum){ System.out.println("你猜大了"); System.out.println("请输入2个整数的和"); c = sc.nextInt(); }else{ System.out.println("你猜小了"); System.out.println("请输入2个整数的和"); c = sc.nextInt(); } } } } 来源: https://www.cnblogs.com/flei/p/6657339

375猜数字大小II

一曲冷凌霜 提交于 2020-02-08 18:53:50
题目:我们正在玩一个猜数游戏,游戏规则如下:我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了。然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。直到你猜到我选的数字,你才算赢得了这个游戏。 来源:https://leetcode-cn.com/problems/guess-number-higher-or-lower-ii/ 法一:参考别人后自己的代码 思路:动态规划 这个题不是简单的二分法,而是先取一个数分割后,取左右两边的最大值,最后再取最小值,注意动态规划问题一定要先定义dp数组,再列几个简单情况的表,切忌不动手空想。这个题里处理边界条件方法是:不处理长度为1和2的数组,至少从3开始处理。 class Solution: def getMoneyAmount(self, n: int) -> int: dp = [[0] * n for i in range(n)] for i in range(n-1): dp[i][i+1] = i+1 for start_col in range(2,n): row = 0 for col in range(start_col, n): # 这里是关键,先取最大值,后取最小值 dp[row][col] = min( max(dp[row][i-1],

HDU 1172 猜数字 (模拟)

倖福魔咒の 提交于 2020-02-02 20:00:46
题目链接 Problem Description 猜数字游戏是gameboy最喜欢的游戏之一。游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么。每猜一个数,计算机都会告诉玩家猜对几个数字,其中有几个数字在正确的位置上。 比如计算机随机产生的数字为1122。如果玩家猜1234,因为1,2这两个数字同时存在于这两个数中,而且1在这两个数中的位置是相同的,所以计算机会告诉玩家猜对了2个数字,其中一个在正确的位置。如果玩家猜1111,那么计算机会告诉他猜对2个数字,有2个在正确的位置。 现在给你一段gameboy与计算机的对话过程,你的任务是根据这段对话确定这个四位数是什么。 Input 输入数据有多组。每组的第一行为一个正整数N(1<=N<=100),表示在这段对话中共有N次问答。在接下来的N行中,每行三个整数A,B,C。gameboy猜这个四位数为A,然后计算机回答猜对了B个数字,其中C个在正确的位置上。当N=0时,输入数据结束。 Output 每组输入数据对应一行输出。如果根据这段对话能确定这个四位数,则输出这个四位数,若不能,则输出"Not sure"。 Sample Input 6 4815 2 1 5716 1 0 7842 1 0 4901 0 0 8585 3 3 8555 3 2 2 4815 0 0 2999 3 3 0 Sample

hdu1172猜数字

…衆ロ難τιáo~ 提交于 2020-02-02 19:59:48
**Problem Description 猜数字游戏是gameboy最喜欢的游戏之一。游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么。每猜一个数,计算机都会告诉玩家猜对几个数字,其中有几个数字在正确的位置上。 比如计算机随机产生的数字为1122。如果玩家猜1234,因为1,2这两个数字同时存在于这两个数中,而且1在这两个数中的位置是相同的,所以计算机会告诉玩家猜对了2个数字,其中一个在正确的位置。如果玩家猜1111,那么计算机会告诉他猜对2个数字,有2个在正确的位置。 现在给你一段gameboy与计算机的对话过程,你的任务是根据这段对话确定这个四位数是什么。 Input 输入数据有多组。每组的第一行为一个正整数N(1<=N<=100),表示在这段对话中共有N次问答。在接下来的N行中,每行三个整数A,B,C。gameboy猜这个四位数为A,然后计算机回答猜对了B个数字,其中C个在正确的位置上。当N=0时,输入数据结束。 Output 每组输入数据对应一行输出。如果根据这段对话能确定这个四位数,则输出这个四位数,若不能,则输出”Not sure”。 Sample Input 6 4815 2 1 5716 1 0 7842 1 0 4901 0 0 8585 3 3 8555 3 2 2 4815 0 0 2999 3 3 0 Sample Output

猜数字游戏

空扰寡人 提交于 2020-01-30 18:17:40
#include<iostream> #include<cstdlib> #include<ctime> using namespace std; int main() { int n,sum=0,win=0,die=0,step=0,m1=10,m2=0,i,j,k,x,y,h=-1; double average=0; char s1[10],s2[4]; srand(time(NULL)); cout<<"这是一个简(jian)单(lou)且标准的猜数字游戏,按0可直接开始游戏"<<endl; cout<<"当然,如果你没玩过,按2可查看游戏介绍"<<endl<<endl; for(;;) { for(cin>>h;h!=0;cin>>h) {//游戏功能部分(准备阶段) if(h==3) break; if(h==1) {//查看战绩 cout<<"总局数:"<<sum<<endl; cout<<"胜:"<<win<<endl; cout<<"负:"<<die<<endl; cout<<"总步数:"<<step<<endl; cout<<"最少步数:"<<m1<<endl; cout<<"最多步数:"<<m2<<endl; cout<<"平均步数(失败按10步算):"<<average<<endl; if(average>6) cout<<"别看了,你还菜得很,按0继续吧:

猜数字 (20分)

女生的网名这么多〃 提交于 2020-01-28 16:20:28
一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。 输入格式: 输入在第一行给出一个正整数N(≤10 ​4 ​​ )。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。 输出格式: 在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家是唯一的。 输入样例: 7 Bob 35 Amy 28 James 98 Alice 11 Jack 45 Smith 33 Chris 62 输出样例: 22 Amy #include < stdio . h > #include < string . h > struct AN { char name [ 11 ] ; int shu ; } a [ 10001 ] ; int main ( void ) { int i , n , c = 0 ; int b [ 10001 ] = { 0 } ; int sum = 0 ; scanf ( "%d" , & n ) ; for ( i = 0 ; i < n ; i ++ ) { scanf ( "%s %d" , a [ i ] . name , & a [ i ] . shu ) ; sum = sum + a [ i ] . shu ;

Leetcode374. 猜数字大小

最后都变了- 提交于 2020-01-20 01:16:15
Leetcode374. 猜数字大小 题目: 我们正在玩一个猜数字游戏。 游戏规则如下: 我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。 每次你猜错了,我会告诉你这个数字是大了还是小了。 你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0): -1 : 我的数字比较小 1 : 我的数字比较大 0 : 恭喜!你猜对了! 题解: 二分法 scala代码: /** * 二分法 * * @param n * @return */ def guessNumber ( n : Int ) : Int = { var flag = true var result = - 1 var left = 1 var right = n while ( left <= right && flag ) { val mid = left + ( right - left ) / 2 val i = guess ( mid ) if ( i == 0 ) { result = mid flag = false } else if ( i == - 1 ) { left = mid + 1 } else { right = mid - 1 } } result } val NUM = 6 def guess ( num : Int ) : Int

C语言简单猜数字

 ̄綄美尐妖づ 提交于 2020-01-16 13:06:42
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 5 int main() { 6 // num1:随机数, num2:猜测数字, count:次数 7 //minn:最小范围, maxn:最大范围 8 int num1, num2, count, minn, maxn; 9 //时间种子 10 srand(time (NULL)); 11 printf("请输入随机数范围,最大32767,[0 ~ "); 12 scanf("%d", &maxn); 13 //对最大值+1取模,确定范围 14 num1 = rand()%(maxn+1); 15 //初始化猜测次数 16 minn = count = 0; 17 printf("已随机产生一个0~%d的数字, 按 ^z 退出\n", maxn); 18 19 //Ctrl + z 再回车即退出循环 20 while(~scanf("%d", &num2) ) { 21 count++; 22 //对比并确定答案范围 23 if(num2 > num1) { 24 printf("你输入的%d太大了\n", num2); 25 maxn = num2 - 1; 26 } 27 if(num2 < num1) { 28 printf("你输入的%d太小了\n"

7-5 简单的猜数字游戏[2]

↘锁芯ラ 提交于 2019-12-22 06:13:17
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”)、小了(“Too small”),还是相等(“Lucky You!”)。如果猜到,则结束程序。如果超过7次都没有猜到,则提示“Game Over”,并结束程序。 输入格式: 输入第一行中给出一个不超过100的正整数,代表游戏机产生的随机数。 从第二行起,每行给出一个用户的输入,直到猜中或者超过7次还没有猜中。 输出格式: 每次在一行中输出相应的猜测结果,直到输出猜对的结果“Lucky You!”或“Game Over”则结束。 输入样例1: 12 50 25 12 输出样例1: Too big Too big Lucky You! 输入样例2: 60 50 75 58 64 63 62 61 输出样例2: Too small Too big Too small Too big Too big Too big Too big Game Over! 方法1: #include<stdio.h> int main() { int x,n,flag,i; scanf("%d",&x); flag=0; for(i=1;i<=7;i++){ scanf("%d",&n); if(n==x) { printf("Lucky You!