uva 12938
来源:互联网 发布:mac下载工具推荐 编辑:程序博客网 时间:2024/06/08 16:13
题目大意:
题目的大概意思就是,给你一个四位数,换动任何一个数可以得到完全平方数,如果可以得到输出可能种类数,(注意:第一个数不可以换成0)
题目解析:这是一个简单的模拟题,首先打表,把31-100的平方存起来,然后再把用循环对四位数的每一位进行判断,在和表里的数比对即可
代码:
#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<cstring>#include<cmath>using namespace std;const int maxn=105;int main(){ int ans[maxn]; int text; memset(ans,0,sizeof(ans)); //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); for(int i=31; i<=100; i++) ans[i]=i*i; int T; int cas=0; cin>>T; while(T--) { cas++; cin>>text; int cnt=0; int a=text/1000; int a1=text-1000*a; int b=text/100%10; int b1=text-b*100; int c=text/10%10; int c1=text-c*10; int d=text%10; int d1=text-d; for(int i=1; i<=9; i++) //qianwei for(int j=31; j<=100; j++) { if((i*1000+a1)==ans[j]&&ans[j]!=text) cnt++; } for(int i=0; i<=9; i++) //baiwei for(int j=31; j<=100; j++) { if((i*100+b1)==ans[j]&&ans[j]!=text) cnt++; } for(int i=0; i<=9; i++) //shiwei for(int j=31; j<=100; j++) { if((i*10+c1)==ans[j]&&ans[j]!=text) cnt++; } for(int i=0; i<=9; i++) //gewei for(int j=31; j<=100; j++) { if((i+d1)==ans[j]&&ans[j]!=text) cnt++; } cout<<"Case "<<cas<<":"<<" "<<cnt<<endl; } return 0;}
阅读全文
0 0
- uva 12938
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- 柯里化再谈
- Hibernate学习之---Hibernate的关联映射
- redis事务
- 课时16 Linux扩展权限(默认权限和特殊权限)
- 一段奇怪的代码:
- uva 12938
- hdu6073 Matching In Multiplication
- 组件化及组件间通信
- 洛谷P2015 二叉苹果树
- Java基础07 包
- 网页设计中常见的兼容性问题
- 常见的几种排序算法
- Ubuntu,两个服务器之间 复制文件方法(还包括一些基本的数据处理的部分)
- 【问题解决】小问题记录 -- “Access denied for user 'root'@'localhost' (using password:YES)”