首页 > 其他分享 >10.15

10.15

时间:2024-10-15 23:10:36浏览次数:5  
标签:return int number num 10.15 stack 回文

今天完成了对于回文数的计算
只是使用栈:

点击查看代码
#include<iostream>
#include<stack>
using namespace std;
bool isPalindrome(int num) {
    // 将负数排除,因为负数不可能是回文数
    if (num < 0) return false;

    stack<int> stack;
    int original = num;
    int reversed = 0;

    // 逐位将数字的前半部分压入栈中
    while (num > 0) {
        stack.push(num % 10);
        num /= 10;
    }

    // 逐位比较栈顶的数字与原数
    num = original; // 重置num为原始数字
    while (!stack.empty()) {
        int top = stack.top();
        if (num % 10 != top) return false; // 如果不相等,则不是回文数
        stack.pop();
        num /= 10;
    }

    return true; // 全部数字相等,则为回文数
}

int main() {
    int number;
    cout << "请输入一个数字: ";
    cin >> number;

    if (isPalindrome(number)) {
        cout << number << " 是回文数\n";
    } else {
        cout << number << " 不是回文数\n";
    }

    return 0;
}
使用栈和队列:
点击查看代码
#include <iostream>
#include <stack>
#include <queue>
using namespace std;
bool isPalindrome(int num) {
    // 负数不可能是回文数
    if (num < 0) return false;

    stack<int> stack;
    queue<int> queue;

    // 提取每一位并分别存入栈和队列
    int original = num;
    while (num > 0) {
        int digit = num % 10;
        stack.push(digit);
        queue.push(digit);
        num /= 10;
    }

    // 比较栈和队列的每一位
    while (!stack.empty() && !queue.empty()) {
        if (stack.top() != queue.front()) {
            return false;  // 如果栈顶和队首元素不相等,则不是回文数
        }
        stack.pop();
        queue.pop();
    }

    return true;  // 所有位都相等,则为回文数
}

int main() {
    int number;
    cout << "请输入一个数字: ";
    cin >> number;

    if (isPalindrome(number)) {
        cout << number << " 是回文数\n";
    } else {
        cout << number << " 不是回文数\n";
    }

    return 0;
}

标签:return,int,number,num,10.15,stack,回文
From: https://www.cnblogs.com/qiixunlu/p/18468754

相关文章

  • java学习10.15
    今天学习了java图形化编程importjava.awt.*;importjava.awt.event.*;publicclassFramePractice{publicstaticvoidmain(String[]args){Frameframe=newFrame();//Frame是窗体,我们只需要创建这样一个对象就可以了,这样就会直接创建一个新的窗口......
  • 10.15
    可以设置题目总数,题目难度在2年级importjava.util.HashSet;importjava.util.Random;importjava.util.Scanner;importjava.util.Set;importjavax.swing.;importjava.awt.;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclassMai......
  • 10.15课程内容总结
    这节课以教育者的角度去了解AI,用AI去辅助教师更好、更便捷地教学。大语言模型是AI发展的最成果之一,其中包括:1、生成人工智能(AI-GeneratedContent)2、大语言模型(LargeLanguageModel,LLM)3、ChatGPT(gpt-GenerativePre-trainedTransformer)PPT辅助:1、MINDSHOW:https://www.......
  • 10.15日
    1.上层界面设计(UI设计)Swing提供了多个组件(如按钮、标签、文本框等),通过这些组件,你可以构建用户可视化交互的界面。关键组件JFrame:代表主窗口,所有其他组件都放置在JFrame中。JPanel:用于分隔不同的UI区域,可以嵌套使用。JButton、JLabel、JTextField:分别用于创建按钮、文......
  • 10.15
    学习了如何在JavaWeb项目中进行数据库连接操作。通过JDBC连接数据库,执行SQL查询语句获取数据。importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;publicclassDatabaseAccessExample{publicstatic......
  • 2024.10.15 模拟赛
    2024.10.15模拟赛T1count简要题意给定一个长度为\(n\)的数组求其中正整数数量,\(n≤100\)solution哇,还是太难了输入的时候如果是正数就cnt++输出\(cnt\)即可人机题,不放代码了T2sigma简要题意给定\(n\)个双端队列,其中第\(i\)个队列内有\(c_i\)个整数元素。......
  • 2024.10.15 比赛反思
    2024.10.15比赛反思其实我觉得有好几次我差一点就要写反思了,但是由于运气最后没有写(最极限的一次是倒数第五)。但是终究还是逃不过啊。首先是\(T1\)还比较正常,用了大概\(50\min\),没有浪费太多时间,这点比较好。但是后面就开始出现问题了。\(T2\)是一个网格图上的问题,其实感......
  • 总结 2024.10.15
    放链接考试总结忘记了pwp后面一定都写ATDPcontest近期主线,在补dpabc370f题解思维题,暂时没怎么写有点鸽,补完dp再补晚自习晚自习again组合数学训练......
  • 24.10.15
    谁家好人往NOIp模拟赛里塞CF*3500啊。A考察\(x\)与\(<x\)的点的连边。\[\begin{aligned}&x|(y+n)\\&kx=y+n\\&y=kx-n\\&\because0<y<x\len\\&\thereforey只有1个\\\Rightarrow&k=\left\lceil\frac{......
  • 10.15
    一、测试思维的练习面试题:(1)你说下淘宝购物车的测试点?(2)给你二维码你会怎么去测试?(3)微信发朋友圈如何测试?(4)微信点赞如何测试?(5)给你一个水杯你会如何去测试?(6)你说下电梯的测试点?需求文档,功能,性能,兼容性,安全性,易用性从不同的角度去考虑如何测试?(1)需求测试需求:需求文档,......