x*4=20的游戏,x是未知数

package com.task020201;

import java.util.Scanner;

public class Game {

    public static void main(String[] args) {
        int x = 0, i;
        Scanner in = new Scanner(System.in);
        i = in.nextInt();
        while (x < 10) {
            x++;
            if (x * 4 == i) {
                System.out.println("数字" + x + "可以使下面的等式成立:");
                System.out.println("x*4=" + x * 4);
            }

        }
        System.out.println("没有符合要求数字");
    }

}
 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
地图遍历算法一般使用深度优先搜索(DFS)或广度优先搜索(BFS)来实现。 1. 深度优先搜索 深度优先搜索可以使用递归函数实现。从起点开始,每次选择一个未被访问过的相邻节点,并沿着这个相邻节点继续向下搜索,直到找到终点或者无法继续向下搜索为止。如果无法继续向下搜索,则返回上一层,选择另一个未被访问过的相邻节点进行搜索。 以下是代码示例: ```c++ #include <iostream> #include <vector> using namespace std; const int ROW = 5; // 地图行数 const int COL = 5; // 地图列数 int map[ROW][COL] = { // 地图 {0, 0, 0, 0, 0}, {0, 1, 1, 0, 0}, {0, 1, 0, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 0, 0, 0} }; bool visited[ROW][COL]; // 标记是否访问过 // 判断节点是否合法 bool isValid(int x, int y) { if (x < 0 || x >= ROW || y < 0 || y >= COL) return false; if (map[x][y] == 0) return false; if (visited[x][y]) return false; return true; } // 深度优先搜索 bool dfs(int x, int y) { if (!isValid(x, y)) return false; if (x == ROW - 1 && y == COL - 1) { // 到达终点 visited[x][y] = true; return true; } visited[x][y] = true; if (dfs(x + 1, y) || dfs(x, y + 1) || dfs(x - 1, y) || dfs(x, y - 1)) // 向四个方向搜索 return true; visited[x][y] = false; // 回溯 return false; } int main() { if (dfs(0, 0)) cout << "可以到达终点" << endl; else cout << "无法到达终点" << endl; return 0; } ``` 2. 广度优先搜索 广度优先搜索使用队列实现。从起点开始,将起点加入队列,每次从队列中取出一个节点,并将其未被访问过的相邻节点加入队列,直到找到终点或者队列为空为止。 以下是代码示例: ```c++ #include <iostream> #include <vector> #include <queue> using namespace std; const int ROW = 5; // 地图行数 const int COL = 5; // 地图列数 int map[ROW][COL] = { // 地图 {0, 0, 0, 0, 0}, {0, 1, 1, 0, 0}, {0, 1, 0, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 0, 0, 0} }; bool visited[ROW][COL]; // 标记是否访问过 // 判断节点是否合法 bool isValid(int x, int y) { if (x < 0 || x >= ROW || y < 0 || y >= COL) return false; if (map[x][y] == 0) return false; if (visited[x][y]) return false; return true; } // 广度优先搜索 bool bfs(int x, int y) { queue<pair<int, int>> q; q.push(make_pair(x, y)); visited[x][y] = true; while (!q.empty()) { int cx = q.front().first; int cy = q.front().second; q.pop(); if (cx == ROW - 1 && cy == COL - 1) // 到达终点 return true; if (isValid(cx + 1, cy)) { q.push(make_pair(cx + 1, cy)); visited[cx + 1][cy] = true; } if (isValid(cx, cy + 1)) { q.push(make_pair(cx, cy + 1)); visited[cx][cy + 1] = true; } if (isValid(cx - 1, cy)) { q.push(make_pair(cx - 1, cy)); visited[cx - 1][cy] = true; } if (isValid(cx, cy - 1)) { q.push(make_pair(cx, cy - 1)); visited[cx][cy - 1] = true; } } return false; } int main() { if (bfs(0, 0)) cout << "可以到达终点" << endl; else cout << "无法到达终点" << endl; return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hnswzy

你的鼓励就是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值