博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
online_judge_1051
阅读量:7226 次
发布时间:2019-06-29

本文共 1074 字,大约阅读时间需要 3 分钟。

#include 
int main(){ int a,n; while(scanf("%d%d",&a,&n)!=EOF) { if(a<1||a>9||n>100||n<1) continue; char sum[101]={0}; int j,x,y=0; for(j=100;j>99-n;j--) { x=(a*(n-100+j))%10; sum[j]=(x+y)%10; y=(x+y)/10+(a*(n-100+j))/10; } for(j=0;j<101;j++) { if(sum[j]==0&&j<=101-n) continue; printf("%d",sum[j]); } printf("\n"); } return 0;}/************************************************************** Problem: 1051 User: 2499088506 Language: C Result: Accepted Time:0 ms Memory:912 kb****************************************************************/
求解思想:这道题木真是让我煞费苦心啊!之前第一反应是用数组来做,寻找运算之间的规律!但是立马改变主意,想用数学方法来做,这是作死!!
0<n<=100.长整型也无法表示位数在100的数字。想了许久,如果把数字拆分,1<=a<=9.数学基础可以知道a!=9时,把i——i+9位的这十位
上的数字相加得到的结果还是在i——i+9位上。a==9时,9999=10000-1.利用这种思想来求解。
后来在实践过程中发现这样实现的结构是相当复杂的!!果断参考网上的想法,一看才恍然大悟。就是自己最初的想法,只是没有付出实践。看来,
很多时候思维太重要了。没有站在机器的角度思考。。

转载于:https://www.cnblogs.com/abc-24990/p/4257541.html

你可能感兴趣的文章
关于SQL镜像配置报错
查看>>
终于找到解决方案了,Qt的Model/View Framework解析
查看>>
线程信息的获取和设置
查看>>
Databricks Scala 编程风格指南
查看>>
Tkinter,label内容随多选框变化
查看>>
PHP开发中的数据类型 ( 第3篇 ) :Heaps
查看>>
网络七层协议
查看>>
4种删除Word空白页的小技巧,都是你需要用到的!
查看>>
单服务器MySQL主从复制实践
查看>>
CentOS 7 root口令恢复
查看>>
| 刘知远:让计算机听懂人话
查看>>
苹果收购初创公司Tueo Health,哮喘监测或将应用到Apple Watch
查看>>
CLR存储过程
查看>>
初级运维(一)
查看>>
C语言字符串常用函数学习(一)
查看>>
Lync Server 2010部署与应用(三)---拓扑生成与发布
查看>>
安全摘记1:关于安全与黑客
查看>>
我的友情链接
查看>>
tbox中vector容器的使用
查看>>
一个简单的PHP笔试题
查看>>