NBUT 1647 又一道简单题【数学+枚举】
来源:互联网 发布:crt连接虚拟机centos 编辑:程序博客网 时间:2024/06/11 21:11
1647 又一道简单题
Time Limit:5000MS Memory Limit:65535KB 64bit IO Format:
Description
输入一个四个数字组成的整数 n,你的任务是数一数有多少种方法,恰好修改一个数字,把它 变成一个完全平方数(不能把首位修改成0)。比如 n=7844,有两种方法:3844=62^2和 7744=88^2。
Input
输入第一行为整数 T (1<=T<=1000),即测试数据的组数,以后每行包含一个整数 n (1000<=n<=9999)。
Output
对于每组数据,输出恰好修改一个数字,把 n 变成完全平方数的方案数。
Sample Input
278449121
Sample Output
Case 1: 2Case 2: 0
Hint
无
想不到特别好的方法,只能暴力枚举每一位改变之后是否是完全平方数
#include<cstdio>#include<math.h>int judge(int x){ int tp=sqrt(x*1.0); return tp*tp==x;}int slove(int n){ int x=n,ans=0,s[4]={0},cnt=0; while(x) { s[cnt++]=x%10; x/=10; } for(int i=0;i<4;++i) { int tp=pow(10.0,i*1.0),num=n-s[i]*tp; for(int j=0;j<=9;++j) { if(j==s[i]||i==3&&j==0) { continue; } if(judge(num+j*tp)) { ++ans; } } } return ans;}int main(){ int t; scanf("%d",&t); for(int i=0;i<t;++i) { int n; scanf("%d",&n); printf("Case %d: %d\n",i+1,slove(n)); } return 0;}
0 0
- NBUT 1647 又一道简单题【数学+枚举】
- NBUT 1647:又一道简单题【模拟】
- NBUT [1647] 又一道简单题【暴力】
- NBUT [1647] 又一道简单题
- NBUT 1647 又一道简单题
- NBUT - 1647 又一道简单题 (暴力模拟)
- CSU 1785 NBUT 1647 又一道简单题
- NBUT OJ 1647 又一道简单题 直接动手就好
- 又一道简单题
- 又一道简单题
- 又一道简单题 CSU
- zoj 1716 又是一道简单题。直接暴力枚举实现!
- CSU 1785 又一道简单题
- csu 1785 又一道简单题
- csu 1785: 又一道简单题 (没错,简单题)
- 一道简单又不简单的算法笔试题
- 省赛模拟一 又一道简单题
- JAVA枚举的一道简单的笔试题
- Jenkins进阶系列之——04Publish Over FTP Plugin插件
- Android控件使用笔记——LinearLayout
- 第四周项目3小学生算数系统
- Jenkins进阶系列之——05FTP publisher plugin插件
- Windows下安装sqlmap
- NBUT 1647 又一道简单题【数学+枚举】
- Jenkins进阶系列之——07更改Jenkins的主目录
- Kubernetes是什么?
- 立方体环境贴图(Cube Mapping)之OpenGL原理
- Ubuntu14.04安装androidStudio错误解除
- 单链表的逆转
- Jenkins进阶系列之——08Jenkins纳入版本控制
- C 数据保存文件中
- 蓝桥杯_算法提高_判断名次