【九度OJ】题目1064:反序数 解题报告

标签(空格分隔): 九度OJ


原题地址:http://ac.jobdu.com/problem.php?pid=1064

题目描述:

设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)
求N的值

输入:

程序无任何输入数据

输出:

输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开

样例输入:

样例输出:

Ways

本来很简单的题目,应该一遍A的,可是还是遇到了问题,然后借助debug才解决掉,这样不好。

想法是把各位数字分别保存下来,然后求出其倒序数,再比较。

遇到的问题有两个,一是在第一遍循环之后,存储的数字已经是倒序,第二遍不用倒序。如n为1234,那么buf里面放的是4321,因为数字/10时是先从各位数字开始放到了buf里。

第二个问题是reverse 每次循环是是赋值关系 ,不是+/关系。即把原来的reverse扩大10倍再加上当前末尾数。

#include <stdio.h>

int main() {
int n = 1000;
while (n < 2000) {//2000*9 > 10000
int buf[4];
int temp = n;
int reverse = 0;
for (int i = 0; i < 4; i++) {
buf[i] = temp % 10;
temp /= 10;
}
for (int i = 0; i < 4; i++) {//注意对各位数字顺序已经是倒序
reverse = 10 * reverse + buf[i];//不是+=
}
if (n * 9 == reverse) {
printf("%d\n", n);
}
n++;
}
return 0;
}

既然这样,说明buf[]的意义已经不复存在,下面是精简了的代码。

#include <stdio.h>

int main() {
int n = 1000;
while (n < 2000) {
int temp = n;
int reverse = 0;
while (temp > 0) {
reverse = 10 * reverse + temp % 10;
temp /= 10;
}
if (n * 9 == reverse) {
printf("%d\n", n);
}
n++;
}
return 0;
}

Date

2017 年 3 月 5 日

【九度OJ】题目1064:反序数 解题报告的更多相关文章

  1. 九度oj 题目1064:反序数

    题目1064:反序数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5163 解决:3698 题目描述: 设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)求N的 ...

  2. 九度OJ 题目1384:二维数组中的查找

    /********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...

  3. hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  4. 九度oj题目&amp;吉大考研11年机试题全解

    九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码).    http://ac.jobdu.com/problem.php?pid=11 ...

  5. 九度oj 题目1007:奥运排序问题

    九度oj 题目1007:奥运排序问题   恢复 题目描述: 按要求,给国家进行排名. 输入:                        有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ...

  6. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

  7. 九度OJ题目1105:字符串的反码

    tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的"\0"还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是 ...

  8. 九度oj题目1009:二叉搜索树

    题目描述: 判断两序列是否为同一二叉搜索树序列 输入:                        开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束. 接 ...

  9. 九度oj题目1002:Grading

    //不是说C语言就是C++的子集么,为毛printf在九度OJ上不能通过编译,abs还不支持参数为整型的abs()重载 //C++比较正确的做法是#include<cmath.h>,cou ...

随机推荐

  1. BSA分析

    目录 两种算法 1. 欧氏距离(ED)算法 2. SNP-index算法 实操 1. 上游分析 2. 下游分析 两种算法 1. 欧氏距离(ED)算法 mut与wt分别代表突变型混池.野生型混池,A.C ...

  2. python17进程

    import os import time from multiprocessing.dummy import Process def so_sth(name): print("进程名称{} ...

  3. python项目——新闻管理系统

    DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口 控制台的输入输出都是再app.py里面完成的  mysql_db.py import mysql.connect ...

  4. Oracle-创建新表,创建备份表,对表中插入多条数据

    一.创建新表 0.基本语法 create table 表名称(id varchar2(50) primary key ,name char(200) not null,phone number(11) ...

  5. Z可读作zed的出处?

    Commercial and international telephone and radiotelephone SPELLING ALPHABETS between World War I and ...

  6. Ecshop 后台管理员密码忘记了吧~!~!~!

    方法1:把下面的代码保存为文件 mima.php <?php define('IN_ECS', true); require(dirname(__FILE__) . '/includes/ini ...

  7. linux下怎么查看某个命令属于哪个包

    # yum whatprovides */ip  或者 # yum provides */ip 即可

  8. gitlab基础命令之代码回滚

    #:gitlab状态 root@ubuntu:~# gitlab-ctl status run: alertmanager: (pid 13305) 215965s; run: log: (pid 1 ...

  9. 锁对象-条件对象-synchronized关键字

    1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.Lock; 3 import ja ...

  10. 【编程思想】【设计模式】【创建模式creational 】工厂模式factory_method

    Python版 https://github.com/faif/python-patterns/blob/master/creational/factory_method.py #!/usr/bin/ ...