(~ ̄▽ ̄)~*

这道题涉及高精度除法,模板如下:

char s[1005];
char division[1005];//存储进行高精度除法的数据 bool bignum_div(int x)
{
int tot=0,num=0;
for(int i=0;s[i];i++)
{
num=num*10+s[i]-'0';
division[tot++]=num/x+'0';
num%=x;
}
division[tot]='\0';//利于进行strcpy()
if(num==0) //有适合的除数
{
int i=0;
while(division[i]=='0')
i++;
strcpy(s,division+i);//比如49->07,那么下一轮s就变成7,多余的i个0都除掉
return true;
}
else return false;
}

题目代码:

//贪心:除数从9到2来找就可以了,因为大于9的说明不存在
//input为个位数时,特殊处理即可
/*******高精度除法 bignum_div(x)***************/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; char s[1005];
char division[1005];//存储进行高精度除法的数据
int res[1005];//存储output数据 bool bignum_div(int x)
{
int tot=0,num=0;
for(int i=0;s[i];i++)
{
num=num*10+s[i]-'0';
division[tot++]=num/x+'0';
num%=x;
}
division[tot]='\0';//利于进行strcpy()
if(num==0) //有适合的除数
{
int i=0;
while(division[i]=='0')
i++;
strcpy(s,division+i);//比如49->07,那么下一轮s就变成7,多余的i个0都除掉
return true;
}
else return false;
} int main()
{
while(~scanf("%s",s))
{
if(s[0]=='-') break; int cnt=0;
bool ok,no;
no=false;
int len=strlen(s);
if(len<2)
{
printf("1%s\n",s);
continue;
} while(1)
{
ok=false;
for(int i=9;i>1;i--)
{
if(bignum_div(i))
{
ok=true;
res[cnt++]=i;
break;
}
}
if(!ok)
{
if(strlen(s)>1)//找不到适合的除数,s又是两位数以上,如51=3x17,17为两位数,故51没有满足条件的答案
no=true;
break;
}
}
if(no)
printf("There is no such number.\n");
else
{
for(int i=cnt-1;i>=0;i--)
printf("%d",res[i]);
printf("\n");
}
}
return 0;
}

POJ 2325 Persistent Numbers#贪心+高精度除法的更多相关文章

  1. poj 2325 Persistent Numbers (贪心+高精度)

    把输入数字每次从9-2除,能整除则记录该数字,最后从小到大输出. 应该算是水题,不过窝第一次写高精度除法,虽然1A,不过中间改了好多次. /****************************** ...

  2. poj 2325 Persistent Numbers

    简单的贪心和高精度运算,主要还是要读懂题. #include"iostream" #include"stdio.h" #include"string& ...

  3. [noip2012]国王游戏<贪心+高精度>

    题目链接: https://vijos.org/p/1779 https://www.luogu.org/problem/show?pid=1080 http://codevs.cn/problem/ ...

  4. [codevs3118]高精度除法<高精度>

    题目链接:http://codevs.cn/problem/3118/ 为了做一道名为国王游戏的贪心,我跑来学习了高精度除法....相传,高精度除法是高精度四个基本运算最难的 但事实上,高精度除法可以 ...

  5. POJ - 3652 Persistent Bits

    “模拟”类型,题型容易,使用bitset库对二进制逐位操作,初始化.十进制转二进制(unsigned int).位操作. POJ - 3652 Persistent Bits Time Limit:  ...

  6. 中石油-高精度除法-java版

    问题 G: [高精度]高精度数除以低精度数I 时间限制: 1 Sec  内存限制: 512 MB提交: 19  解决: 15[提交][状态][讨论版] 题目描述 修罗王聚集了庞大的暗元素以施展隐匿魔法 ...

  7. 使用java求高精度除法,要求保留N位小数

    题目要求是高精度除法,要求保留N位小数(四舍五入),并且当整数部分为0时去除0的显示 import java.math.BigDecimal; import java.util.Scanner; pu ...

  8. POJ 3190 Stall Reservations贪心

    POJ 3190 Stall Reservations贪心 Description Oh those picky N (1 <= N <= 50,000) cows! They are s ...

  9. POJ 2392 Space Elevator(贪心+多重背包)

    POJ 2392 Space Elevator(贪心+多重背包) http://poj.org/problem?id=2392 题意: 题意:给定n种积木.每种积木都有一个高度h[i],一个数量num ...

随机推荐

  1. delphi用TAdoStoredProc调用存储过程,兼容sql2005、2008、2014的远程事务问题

    delphi7写的程序,在sql2000里没问题,调用sql2008.2014里的存储过程时,如果存储过程里操作了大量数据,很容易会莫名其妙的自己撤销掉,但是程序还识别不到,认为还在正常执行.今天尝试 ...

  2. C#笔记(二)变量之预定义的引用类型

    1.object类型 在C#中, object类型就是最终的父类型,所有内置类型和用户定义的类型都从它派生而 来. 这样, object类型就可以用于两个目的了: 可以使用object引用绑定任何子类 ...

  3. Hive插数据报错

    报错信息: Failed with exception MetaException(message:javax.jdo.JDODataStoreException: Put request faile ...

  4. ECMAScript6之Set结构和Map结构

    set数据结构 ES6提供了一个新的数据结构,Set,Set和Array数组相似,但是Set里没有重复的数据,可以说是一个值的集合. 同时,Set数据结构有以下属性和方法: size:返回成员总数 a ...

  5. php常量作用

    PHP常量的特点是: 1.不能通过外部来传递,也就是不能通过get与post还有cookie等方式来传递赋值,所以可以确定是程序执行过程中定义的,非外界变量.2.定义后不能更改,可以防止被篡改. 基于 ...

  6. spring、struts整合

    package com.hanqi.test; public class JISQ { public double add(double a,double b) { return (a+b); } } ...

  7. C# IDisposable的理解

    C#里可以嵌入非托管代码,这就涉及到了这些代码资源的释放.以前总是看到别人的代码里那么写,也没有好好想想为什么,今天看了书,总结一下. 资源释放分为两种: 托管的 非托管的 两者的释放方式不一致: 没 ...

  8. ORACLE AWR性能报告和ASH性能报告的解读

    数据库的性能分析可分为会话级和系统级:如果确定某个会话存在性能问题,最常见的分析方式是对这个会话做一个SQL_TRACE或者10046事件,通过分析trace文件来定位问题所在.如果无法确定哪个会话性 ...

  9. js onblur 和 onkeyup 事件用法

    1. onblur 表示失去焦点时触发 2. onkeyup 表示键盘每输完一个字符之后触发,就是键盘上的按键被放开时. 例子如下: <!DOCTYPE HTML PUBLIC "-/ ...

  10. 无线hacking系统—wifislax

    简介 官方中文网站: http://wifislax.cn/ WiFiSlax 是在Slax基础上定制出来的,由西班牙开发.它包含了各种各样的安全和诊断工具.该发行主要的成名原因是把各种各样的非官方网 ...