SGU 107 987654321 problem(打表)
2016-04-14 10:17
337 查看
Description
给出一整数n,问n位的数字中平方后最后九位是987654321的数有多少个
Input
一个整数n表示数字位数(1<=n<=10^6)
Output
n位且平方后最后九位是987654321的数的个数
Sample Input
8
Sample Output
0
Solution
由用例可知八位数没有满足条件的数字,故只需要考虑九位数中满足条件的数有多少即可,这个直接打个表可知一共有8个,故如果n<=8输出0,n=9输出8,n>9输出72,后面输出n-10个0(数字第一位不能为0,除后九位是满足调价的8个数之外其余都可以从0取到10)
Code
给出一整数n,问n位的数字中平方后最后九位是987654321的数有多少个
Input
一个整数n表示数字位数(1<=n<=10^6)
Output
n位且平方后最后九位是987654321的数的个数
Sample Input
8
Sample Output
0
Solution
由用例可知八位数没有满足条件的数字,故只需要考虑九位数中满足条件的数有多少即可,这个直接打个表可知一共有8个,故如果n<=8输出0,n=9输出8,n>9输出72,后面输出n-10个0(数字第一位不能为0,除后九位是满足调价的8个数之外其余都可以从0取到10)
Code
#include<cstdio> #include<iostream> using namespace std; typedef long long ll; int main() { //ll mod=1000000000ll; //for(ll i=1;i<=1e9;i++) // if(i*i%mod==987654321ll) // printf("%lld\n",i); //111111111 //119357639 //380642361 //388888889 //611111111 //619357639 //880642361 //888888889 int n; while(~scanf("%d",&n)) { if(n<=8)printf("0\n"); else if(n==9)printf("8\n"); else { printf("72"); for(int i=0;i<n-10;i++)printf("0"); printf("\n"); } } return 0; }
相关文章推荐
- spring事务机制
- 使用VS2010创建MFC ActiveX工程项目
- 用Java进行AES256-ECB-PKCS7Padding加密
- CSS中关于多个class样式设置的不同写法
- 书籍推荐
- 安装 Ruby 环境 -for-MAC
- 模仿微信图片点击全屏效果 (2)
- Python之sys模块
- 基于opencv的感兴趣区域ROI的操作
- 关于maven 添加第三方jar包
- Task一个轻量级分布式任务计算系统
- dubbo:registry
- 操作系统对多核技术的支持
- 科学计数法的坑爹
- linux socket断开网络连接程序终止
- LeetCode 198 House Robber 打家劫舍
- iOS sdk--预览文档和打开文档
- C#读取Excel的三种方式以及比较
- 设计模式 观察者模式 以微信公众服务为例
- 全球域名解析新增保有量23强:6家中国域名商上榜