整数对

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1006    Accepted Submission(s): 357

Problem Description
Gardon 和小希玩了一个游戏,Gardon随便想了一个数A(首位不能为0),把它去掉一个数字以后得到另外一个数B,他把A和B的和N告诉了小希,让小希猜想他 原来想的数字。不过为了公平起见,如果小希回答的数虽然不是A,但同样能达到那个条件(去掉其中的一个数字得到B,A和B之和是N),一样算小希胜利。而 且小希如果能答出多个符合条件的数字,就可以得到额外的糖果。
所以现在小希希望你编写一个程序,来帮助她找到尽可能多的解。
例如,Gardon想的是A=31,B=3 告诉小希N=34,
小希除了回答31以外还可以回答27(27+7=34)所以小希可以因此而得到一个额外的糖果。
Input
输入包含多组数据,每组数据一行,包含一个数N(1<=N<=10^9),文件以0结尾。
Output
对于每个输入的N,输出所有符合要求的解(按照大小顺序排列)如果没有这样的解,输出"No solution."
Sample Input
34
152
21
0
Sample Output
27 31 32
126 136 139 141
No solution.

/*  Name:   Copyright:   Author:   Date: 05/10/11 13:42  Description: */#include <cstdlib>#include <iostream>#include <algorithm>using namespace std;int s[100];

int main(int argc, char *argv[]){int n,a,b,c,count;while(scanf("%d",&n)&&n)    {        count = 0;if(n<=10) { printf("%d\n",n); continue;}for(int i=1;i<=n;i*=10)             {            c=n/i/11;            b=n/i%11;if(b<10&&(b!=0 || c!=0))            {               a =n-(b+c*11)*i;               a/=2;if(a*2+(b+c*11)*i==n)                   s[++count]= a+b*i+c*10*i;

            }               b--;if(b>=0&&(b!=0 || c!=0))                {                  a =n-(b+c*11)*i;                  a/=2;if(a*2+(b+c*11)*i==n)                    s[++count]=a+b*i+c*10*i;                      }                  }  if(count==0)  puts("No solution."); else         {             sort(s+1,s+count+1);                          printf("%d",s[1]);for(int i=2;i<=count;i++)              {                  printf(" %d",s[i]);                     }              puts("");         }                    }    system("PAUSE");return EXIT_SUCCESS;}

转载于:https://www.cnblogs.com/one--world--one--dream/archive/2011/10/05/2199408.html

HDU 1271整数对相关推荐

  1. hdu 5230(整数划分,dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5230 解题思路: 这是一个整数划分的模型: 将n划分为k个整数的划分数 设dp[i][j]为将i划分为 ...

  2. hdu 1271 小希的迷宫(树的性质,并查集)

    小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  3. 杭电OJ分类题目(3)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(3) HDU Computational Ge ...

  4. ACM模块解析之 数论

    数  论 一.简介 数论是ACM中的重点内容.历年竞赛题目,一般都有1~2道题目与数论有密切关系.数论涉及的概念和算法很多,用途也非常广泛.掌握与数论有关的方法,是参赛者需要具备的必要技能.数论的学习 ...

  5. hdu与poj题目分类

    POJ 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(po ...

  6. HDU 4651 Partition(整数拆分)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:给出n.求其整数拆分的方案数. i64 f[N]; void init() {     f ...

  7. 整数行hdu 1244 Max Sum Plus Plus Plus(dp)

    废话就不多说了,开始... Max Sum Plus Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/3 ...

  8. HDU.2561 第二小整数(water)

    题目来源:2561 题意分析:找出一堆数中第二小的整数,和题目说的一样 我的思路:冒泡或者sort()一下就ok了,但是我因为没看到多个测试用例还是吃了几记WA . ┭┮﹏┭┮ 完整代码: #incl ...

  9. HDU 1002 大整数

    哈哈...几年一下自己手写的第一个Java大整数程序: import java.util.*; import java.io.*; import java.math.*;public class Ma ...

最新文章

  1. zqgame《每日一言》
  2. 面向对象编程(OOP)和面向过程编程
  3. 基于数据空间的电子病历数据融合与应用平台
  4. 软件测试 学习之路 计算机基础
  5. 正则表达式学习笔记003--问号和加号的认识与应用
  6. python获取当前日期的前一天爆炸_python蒙特卡洛脚本模拟—挑战者号爆炸概率
  7. Java程序员春招三面蚂蚁金服,丹丹丹学妹哭着对我说:学长
  8. 短视频秒播优化实践(二)
  9. java.text.MessageFormat 专题
  10. c语言随机函数生成字符,c语言随机数生成加减乘除 用C语言编程随机产生一道......
  11. 解决联想笔记本电源选项 电源管理无效
  12. 数组对象查找某一个对象
  13. Element-UI 图标乱码解决方案
  14. java基础复习——day18(Stream流 ; 反射)
  15. 计算机品牌企业关系图,AJ71C24-S3 画出PLC的I/O点与输入/输出设备的连接图或对应关系表, 三菱AJ71C24-S3 - 广州凌控...
  16. 站长便民小工具引流网站源码_站长引流工具箱
  17. 路由器、交换机与集线器的区别
  18. 我为什么放弃360千万期权,走向创业这条搬砖路?
  19. Vulnhub靶场渗透测试系列DC-7(跳出框框打开脑洞 drush更改drupal的admin账户密码)
  20. vue中ajax同步_Vue处理ajax请求

热门文章

  1. SQL查询入门(上篇)
  2. 面向对象葵花宝典:思想、技巧与实践(36) - 设计原则如何用?
  3. Go中的Socket编程
  4. golang中的strings.EqualFold
  5. linux命令fdisk
  6. 一个完整的DS1302时钟在STM32上的应用实例
  7. 汇编: dosbox命令
  8. C九:free与malloc
  9. Apache Kylin v2.6.1 发布,开源的分布式分析引擎
  10. spring boot validated的使用