zoukankan      html  css  js  c++  java
  • 百炼OJ

    题目链接

    哇一遍AC的感觉也太爽了吧:)

    #include <stdio.h>
    #include <string.h>
    int times=0;
    
    char *myCalc(char source[1000], char s[1000], int times)
    {
    	if( times == 0 ) return s;
    	
    	int last=0,a=strlen(source),b=strlen(s);
    	char res[1000]={0};	
    	for(int i=0;i<(a+b-1);i++) // times
    	{
    		int temp=last,first,end;
    		if( i < a )
    		{
    			first = 0;
    			end = i+1;
    		}
    		else if( i < b )
    		{
    			first = 0;
    			end = a; 
    		}
    		else
    		{
    			first = i-b+1;
    			end = a;
    		}
    		for(int j=first;j<end;j++)
    		{
    				temp += (source[j]-'0')*(s[i-j]-'0');
    		}
    		res[i] = temp%10 + '0';
    		last = temp/10;
    	}
    	if( last != 0 ) res[a+b-1] = last+'0';
    	//puts(res);
    	return myCalc(source,res,times-1);
    }
    
    int main()
    {
    	char input[10]; 
    	while( scanf("%s %d",input,&times) != EOF )
    	{
    		int num=0,points = 0,flag = 0;
    		char sum[1000] = {0};
    		for(int i=strlen(input)-1;i>=0;i--)
    		{
    			if(input[i] == '0' && flag == 0)continue;
    			else if(flag == 0) flag = 1;
    			if(input[i] == '.')
    			{
    				flag = 2;
    				continue;
    			}
    			sum[num++] = input[i];
    			if(flag == 1) points ++;
    		}
    		if( flag != 2 ) points = 0;
    		
    		
    		for(int i=strlen(sum)-1;i>=0;i--)
    		{
    			if(sum[i] == '0')
    				sum[i] = 0;
    			else break; 
    		}
    		//printf("%d %s
    ",points,sum);
    		char *results = myCalc(sum,sum,times-1);
    		if( strlen(results) < points*times )
    		{
    			printf(".");
    			for(int i=0;i<(points*times-strlen(results));i++)
    				printf("0");
    		}
    		for(int i=strlen(results)-1;i>=0;i--)
    		{
    			if( (i+1) == points*times )
    				printf(".");
    			printf("%c",results[i]);
    		}
    		printf("
    ");
    	}
    	return 0;
    }
    
  • 相关阅读:
    JVM内存模型
    052-224(新增70题2018)
    052-223(新增70题2018)
    052-222(新增70题2018)
    052-221(新增70题2018)
    052-220(新增70题2018)
    052-219(新增70题2018)
    052-218(新增70题2018)
    052-217(新增70题2018)
    052-216(新增70题2018)
  • 原文地址:https://www.cnblogs.com/L1B0/p/10902888.html
Copyright © 2011-2022 走看看