sicily--1325. Digit Generator
来源:互联网 发布:邢台seo外包 编辑:程序博客网 时间:2024/05/18 06:16
一开始没有找到合适的出发点,结果TL 了;看了网上的代码,知道了
startNum = (testNum - 9 * bit < 0)?0:testNum - 9 * bit; //此处减去各位上的(最大可能的)数字之和
// Problem#: 1325// Submission#: 1301505// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/// All Copyright reserved by Informatic Lab of Sun Yat-sen University#include<iostream>#include<cstdio>#include<string>using namespace std;/**********准确度没有把握*************///int split(int n)//{// int splitSum = 0;// int remainder = 0;//// if(n < 10)// {// return n;// }//// while(n >= 10)// {// remainder = n % 10;// splitSum = splitSum + remainder;// n = (n - remainder)/10;// }// splitSum = splitSum + n;// return splitSum;//}////int main()//{// int testNum;// scanf("%d",&testNum);// while(testNum-- > 0)// {// int n;// scanf("%d",&n);// int startNum = (n%2 == 0)?(n/2):(n+1)/2;// int Sum = 0;// for(int i = startNum; i < n; i++)// {// /*Sum = i + split(i);*/// int splitSum = 0;// if(i < 10)// {// splitSum = i;// }// else// {// int copy = i;// int remainder = 0;// while(copy >= 10)// {// remainder = copy % 10;// splitSum = splitSum + remainder;// copy = (copy - remainder)/10;// }// splitSum = splitSum + copy;//// }//// Sum = i + splitSum;// if(Sum == n)// {// cout << i << endl;// break;// }//// if(Sum > n)// {// cout << "0" << endl;// break;// }// }// }// // return 0;//}/**********准确度没有把握*************/int main(){ int testCase; scanf("%d",&testCase); while(testCase-- > 0) { int startNum; int bit = 0; int testNum; scanf("%d",&testNum); for(int i = testNum; i != 0; i = i / 10 ) { bit++; } startNum = (testNum - 9 * bit < 0)?0:testNum - 9 * bit; //此处减去各位上的(最大可能的)数字之和 int Sum = 0; int j; for(j = startNum; j < testNum; j++) { int splitSum = 0; for(int k = j; k != 0; k = k/10) { splitSum = splitSum + k%10; } Sum = j + splitSum; if(Sum == testNum) { /*cout << j << endl;*/ printf("%d\n",j); break; } } if(j == testNum) //不能在for循环的中途判断,例如10->11 ... 19->29;但是从20开始有 20->22,此时22比29小了 { /*cout << "0" << endl;*/ printf("0\n"); } } return 0;}
- sicily--1325. Digit Generator
- sicily 1325. Digit Generator
- Sicily 1325. Digit Generator
- [sicily]1325. Digit Generator
- sicily 1325. Digit Generator
- Sicily 1325. Digit Generator
- 1325. Digit Generator
- Digit Generator
- Digit Generator
- Sicily 4315. Digit Count
- Sicily 7969. Digit Sum
- Digit Generator 打表
- UVa1583 - Digit Generator
- 2502. Digit Generator
- UVA-1583 - Digit Generator
- UVa 1583 Digit Generator
- UVa 1583 - Digit Generator
- UVA1583 - Digit Generator
- CACTI安装syslog插件
- java 交通灯管理系统
- IIS上设置301跳转,实现带参数跳转
- NSRunloop 的用法
- 解惑spring嵌套事务
- sicily--1325. Digit Generator
- 详解Win2003 IIS6.0 301重定向带参数的问题
- Jquery Mobile转场特效之slide
- 电烙铁 焊油 松香水
- 再读Practical Java [更新中]
- ubuntu 12.04更新源
- java银行业务调度系统
- 让Java代码跑得更快
- 我在各个系统所喜欢用的软件