hdoj 1013 (没有体会到需要大数)

原创 2015年07月26日 15:04:18

          表面看该程序就是一个数的各个位的分离相加,但却忽视这是一个很大的数,所以之前提交总是Wa

  



                                       wa码

#include<stdio.h>
int main()
{    
        int a[100],n,i,s;
	while(scanf("%d",&n)!=EOF)
	{   if(n==0)
	    break;
		s=0;
		for(i=0;n!=0;)
		{
			a[i]=n%10;
			n=n/10;
			s=s+a[i];
			i++;
			if(n==0&&s/10==0)
		     printf("%d\n",s);
		   else if(n==0&&s/10!=0)
		    {
			 n=s;
			 i=0;
			 s=0;
			 
		    }
	    }
	}
	return 0;

    


然后就换了一种方法


#include<cstdio>
#include<cstring>
int main()
{    char a[1001];
	 int n,i,s,sum;
	while(scanf("%s",&a))
	{   if(strcmp(a,"0")==0)
	    break;
		s=0;
		for(i=0;a[i]!='\0';i++)
		{		
			s=s+a[i]-'0';
		}
		   
	   do
	   {  
        sum=0;  
        while(s)
		{  
            sum+=s%10;  //两个while循环运用极为比较巧妙
            s=s/10;  
        }  
        s=sum;  
        }while(sum>9);
        printf("%d\n",sum);
	}
	
  return 0;
	    
} 



后来有百度了一下,发现应该定义一个字符串数组来存储数据

#include<cstdio>
#include<string.h>
int main()
{    char a[1001];
	 int n,i,s;
	while(scanf("%s",&a))
	{   if(strcmp(a,"0")==0) 
	   //if(a=="0")    //处理字符串必须用strcmp函数 
	    break;
		s=0;
		for(i=0;a[i]!='\0';i++)
		{		
			s=s+a[i]-'0';
		}
		if(s>9)
		  	s=s%9;
		if(s==0)//排除正好被9整除的数,否则就输出0了!
		printf("9\n");
		else 
		printf("%d\n",s)	;
	}
	return 0;
	
} 

注意这个除9取余的算法非常独到!!

省去了好多循环!

hdoj 1013 (没有体会到需要大数)

表面看该程序就是一个数的各个位的分离相加,但却忽视这是一个很大的数,所以之前提交总是Wa                                           wa码...
  • zhangv123
  • zhangv123
  • 2015年07月26日 17:34
  • 144

HDU 5447 Good Numbers (2015年长春赛区网络赛K题)

1.题目描述:点击打开链接 2.解题思路:本题利用唯一分解定理+gcd解决。这是我第一次用Java写题,忙了一下午终于通过了,真是太不容易了==。本题实际上就是把k1,k2分解后,把所有素因子的指数...
  • u014800748
  • u014800748
  • 2015年09月17日 19:47
  • 1195

大数素性测试+大数质因数分解(miller-rabin,Pollard_rho算法)

摘自kuangbin博客可以对一个2^63的素数进行判断。可以分解比较大的数的因子但是不明白一个地方是:大数质因子分解的出的数组factor[]的内容重复原因还有包含2,2不是质数啊?望大神赐教不过以...
  • AleiChen
  • AleiChen
  • 2016年08月15日 15:38
  • 1797

poj1013解题报告

首先,感谢優YoU,我是看了她的博客后才学会解题的,对此不胜感激。       解题先看题,首先我们知道有一打银币,编号为A-L,也就是说,我们有12枚银币(试想一下你有了12枚袁大头,是不是很高兴)...
  • DongChengRong
  • DongChengRong
  • 2017年04月20日 20:11
  • 205

浙大PAT考试1013~1016(最伤的一次。。)

我能说我1016WA了几天都不得最后还是拿别人代码交的么。。。 真心找不到那个神数据。。。 自己把整个程序的流程都画出来了,仔细推敲是木有问题的啊。。。 题目地址:http://pat.zju...
  • opm777
  • opm777
  • 2014年06月29日 23:40
  • 2040

大数据分析到底需要多少种工具?

摘要 JMLR杂志上最近有一篇论文,作者比较了179种不同的分类学习方法(分类学习算法)在121个数据集上的性能,发现Random Forest(随机森林)和SVM(支持向量机)分类准确率最高,在...
  • wangfei8348
  • wangfei8348
  • 2017年02月13日 11:53
  • 185

HDOJ 1134 数学+大数

这个题是卡特兰数的公式题 不需要讲太多的东西,关键是贴个大数的模板 bin神的模板改造过来 bin神的思路是一个int值保存一个整数的4个数位 其实在模拟题中,如果内存够的话,保存1个...
  • kevin66654
  • kevin66654
  • 2016年09月28日 21:40
  • 162

大数据分析所需要的十大技术

大数据分析所需要的十大计算 1:
  • KaiZhao_KZ
  • KaiZhao_KZ
  • 2014年08月10日 20:27
  • 3382

HDOJ 1041 规律 大数

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1041 这道题,最开始就想到是规律题。后来我打出前10后发现这可能可以用DP做。后来用DP做了发现超范围了...
  • qq_38987374
  • qq_38987374
  • 2018年01月10日 17:12
  • 5

HDOJ 3790 最短路径问题(dijkstra算法)

最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot...
  • zwj1452267376
  • zwj1452267376
  • 2015年08月20日 00:48
  • 1489
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdoj 1013 (没有体会到需要大数)
举报原因:
原因补充:

(最多只允许输入30个字)