算法竞赛入门 5.3.1 6174问题
来源:互联网 发布:好吃的零食知乎 编辑:程序博客网 时间:2024/06/16 08:44
知识点:1.排序(冒泡法);
2.字符串逆转(每次首尾交换,或者用一个等大的数组遍历一次);
3.标记是否是重复数字(用10000+数组存储出现的数字,数字为下标,用1标记存在,或者用数字为内容,但需要每次查找遍历一次数组)
实现代码:
#include <iostream>#include <string.h>#include <stdio.h>#define MAX 10010using namespace std;int GetNext(int n);int num[MAX];int main(){ memset(num,0,sizeof(num)); int n;// cin >> n; n = 1234; cout << n; while(num[n] == 0){ num[n] = 1; n = GetNext(n); cout << " -> " << n; } return 0;}int GetNext(int n){ char buf[10]; sprintf(buf,"%d",n); //冒泡法排序 for(int i=1 ; i<4 ; i++){ for(int j=0 ; j<4-i ; j++){ if(buf[j] > buf[j+1]){ char temp = buf[j]; buf[j] = buf[j+1]; buf[j+1] = temp; } } } int a,b; sscanf(buf,"%d",&a);// char buf2[10];// for(int i=0 ; i<4 ; i++){// buf2[3-i] = buf[i];// }// sscanf(buf2,"%d",&b); //每次首尾交换 for(int i=0 ; i<4/2 ;i++){ char temp = buf[i]; buf[i] = buf[3-i]; buf[3-i] = temp; } sscanf(buf,"%d",&b); return b - a;}
0 0
- 算法竞赛入门 5.3.1 6174问题
- 算法竞赛入门经典 5.3.1 “6174”问题
- 算法竞赛入门——6174问题
- 算法竞赛入门经典-第五章6174问题
- 算法竞赛入门经典 8.3.1棋盘覆盖问题
- 算法竞赛入门经典 8.3.1 棋盘覆盖问题
- 算法竞赛入门经典 例3-1开灯问题
- 算法竞赛入门经典 例题 3-1 开灯问题
- 算法竞赛入门-回溯-7.4.1-八皇后问题
- 算法竞赛入门基础1
- 《算法竞赛入门经典》 7.5 倒水问题
- 算法竞赛入门:埃及分数问题
- 算法竞赛入门经典-铁轨问题
- 算法竞赛入门经典 开灯问题
- 算法竞赛入门经典 竖式问题
- 算法竞赛入门经典 竖式问题
- 算法竞赛入门经典-开灯问题
- 算法竞赛入门-八皇后问题
- 很好的Linux命令
- Mybatis动态sql
- 浅谈Cisco静态路由配置实验
- socketexception.errorcode 解释
- MFC 一个类访问另一个类成员对象的成员变量值
- 算法竞赛入门 5.3.1 6174问题
- 电子商店策划实训
- 基于PCA的人脸识别
- Ubuntu下QToolButton下正常显示,但是arm下却会有点击残留问题,解决
- windows Qt编程之wchar_t * to QString格式转化
- oracle11gR2(GI)启动过程
- 【详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!】【二】
- 【ejabberd】安装XMPP服务器ejabberd(Ubuntu 12.04)
- jquery 页眉单行信息滚动显示实现思路及代码