• UVALive 6270 Edge Case(找规律,大数相加)


    版权声明:本文为博主原创文章,未经博主同意不得转载。

    vasttian https://blog.csdn.net/u012860063/article/details/36905379

    转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents


    找规律,前两个数的和等于后一个数的值。

    事实上就是大菲波数;

    代码例如以下:

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    #include<cstdio>  
    #include<cstring>
    void fan(char s[])
    {    
    	char t;    
    	int i,j;    
    	for(i = 0,j = strlen(s)-1;i <= j;i++,j--)
    	{  
    		t=s[i];s[i]=s[j];s[j]=t;  
    	}
    }      
    char ans[10047][4000];
    int main()
    {
    	int i,j,n,p=0,g=0,h=1,k,l; 
    	char x[4000],y[4000],z[4000];          
    	strcpy(ans[1],"1");
    	strcpy(ans[2],"3");
    	strcpy(ans[3],"4");
    	for(int mm = 4 ; mm<= 10000; mm++)
    	{
    		memset(x,0,sizeof(x));
    		memset(y,0,sizeof(y));
    		p=0;
    		strcpy(x,ans[mm-1]);
    		strcpy(y,ans[mm-2]);
    		fan(x);fan(y);  
    		k=strlen(x);
    		l=strlen(y);  
    		for(i = 0;i < k || i< l;i++ )
    		{       
    			if(i < k && i < l )
    				z[i]=x[i]+y[i]+ p-'0';                
    			else if(i < k && i >= l)   
    				z[i]=x[i]+p;       
    			else if(i >= k && i < l)   
    				z[i]=y[i]+p;              
    			if(z[i]>'9')
    			{    
    				z[i]-=10;           
    				p=1;
    			}              
    			else   
    				p=0;
    		}          
    		if(p)  
    			z[i++]='1';
    		z[i]=''; 
    		fan(x);fan(y);fan(z);
    		strcpy(ans[mm],z);
    	}
    	while(~scanf("%d",&n))
    	{
    		printf("%s",ans[n]);
    		printf("
    ");
    	}
    	return 0;
    }
    


  • 相关阅读:
    Method总结
    使用CSS的五种方式
    debug js code
    Overload
    fiddler模拟弱网测试
    POJ 1753 Flip Game (IDA*)
    UVA 11400 Lighting System Design(照明系统设计)(dp)
    UVA 12563 Jin Ge Jin Qu hao(劲歌金曲)(01背包+滚动数组)
    UVA 116 Unidirectional TSP (单向TSP)(dp多段图的最短路)
    UVA 1151 Buy or Build (买还是建)(并查集+二进制枚举子集)
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10911345.html
  • Copyright © 2020-2023  润新知