zoukankan      html  css  js  c++  java
  • A1023 Have Fun with Numbers [大整数乘法]

    在这里插入图片描述

    //找质数,找能除的质数
    #include<iostream>
    #include<cstring>
    #include<algorithm>
    #include<string>
    #include<time.h>
    #include<math.h>
    using namespace std;
    typedef long long ll;
    int hashtable[10];
    struct bign
    {
    	int d[1001];
    	int length;
    	bign()
    	{
    		memset(d, 0, sizeof(d));
    		length = 0;
    	}
    };
    bign change(char str[])
    {
    	bign a;
    	a.length = strlen(str);
    	for (int i = 0; i < a.length; i++)
    	{
    		a.d[i] = str[a.length - i - 1] - '0';
    		hashtable[a.d[i]]++;
    	}
    	return a;
    }
    bign multi(bign a, int b)
    {
    	bign c;
    	int carry = 0;
    	for (int i = 0; i < a.length; i++)
    	{
    		int temp = a.d[i] * b + carry;
    		c.d[c.length++] = temp % 10;
    		carry = temp / 10;
    	}
    	while (carry != 0)
    	{
    		c.d[c.length++] = carry % 10;
    		carry /= 10;
    	}
    	return c;
    }
    bool iscout(bign r)
    {
    	for (int i = r.length - 1; i>= 0; i--)
    	{
    		hashtable[r.d[i]]--;
    	}
    	for (int i = 0; i <10; i++)
    	{
    		if (hashtable[i] !=0)
    			return false;
    	}
    	return true;
    }
    void print(bign a)
    {
    	for (int i = a.length - 1; i >= 0; i--)
    	{
    		cout << a.d[i];
    	}
    }
    int main()
    {
    	char c[1001];
    	cin >> c;
    	bign a = change(c);
    	bign b = multi(a, 2);
    	if (iscout(b))
    	{
    		cout << "Yes" << endl;
    		print(b);
    	}
    	else
    	{
    		cout << "No" << endl;
    		print(b);
    	}
    
    }
    
  • 相关阅读:
    Update操作一定是先Delete再Insert吗?
    asp.net中的并发控制
    asp.net2.0下利用javascript实现treeview中的checkbox全选
    Json
    SQL Server2005 事务隔离级别
    设计概念模型
    前沿视频教程
    PowerDesigner使用
    表单 数字字符验证正则
    CharIndex對比Replace
  • 原文地址:https://www.cnblogs.com/Hsiung123/p/13812040.html
Copyright © 2011-2022 走看看