首頁 > 資料庫 > mysql教程 > SRM 599 DIV2 500p

SRM 599 DIV2 500p

WBOY
發布: 2016-06-07 15:14:46
原創
1220 人瀏覽過

Problem Statement This problem statement contains superscipts that may not display properly outside the applet. You are given four ints A , B , C and D . Return divisible (quotes for clarity) if A B is divisible by C D . Return not divisib

Problem Statement

 

This problem statement contains superscipts that may not display properly outside the applet.


You are given four ints A, B, C and D. Return "divisible" (quotes for clarity) if AB is divisible by CD. Return "not divisible" otherwise.

Definition

 
Class: BigFatInteger2
Method: isDivisible
Parameters: int, int, int, int
Returns: string
Method signature: string isDivisible(int A, int B, int C, int D)
(be sure your method is public)
 
 

Notes

- The return value is case-sensitive.
- Positive integer y divides a positive integer x if and only if there is a positive integer z such that y*z=x. In particular, for each positive integer x, both 1 and x divide x.

Constraints

- A, B, C and D will each be between 1 and 1,000,000,000 (109), inclusive.

Examples

0)  
 
6
登入後複製
登入後複製
1
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
2
登入後複製
登入後複製
登入後複製
登入後複製
1
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
Returns: "divisible"
登入後複製
登入後複製
登入後複製
Here, AB = 61 = 6 and CD = 21 = 2. 6 is divisible by 2.
1)  
 
2
登入後複製
登入後複製
登入後複製
登入後複製
1
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
6
登入後複製
登入後複製
1
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
Returns: "not divisible"
登入後複製
登入後複製
登入後複製
2 is not divisible by 6.
2)  
 
1000000000
登入後複製
登入後複製
登入後複製
登入後複製
1000000000
登入後複製
登入後複製
登入後複製
登入後複製
1000000000
登入後複製
登入後複製
登入後複製
登入後複製
200000000
登入後複製
Returns: "divisible"
登入後複製
登入後複製
登入後複製
Now the numbers are huge, but we can see that AB is divisible by CD from the fact that A=C and B>D.
3)  
 
8
登入後複製
100
登入後複製
4
登入後複製
登入後複製
200
登入後複製
Returns: "not divisible"
登入後複製
登入後複製
登入後複製
We can rewrite 8100 as (23)100 = 2300. Similarly, 4200 = (22)200 = 2400. Thus, 8100 is not divisible by 4200.
4)  
 
999999937
登入後複製
1000000000
登入後複製
登入後複製
登入後複製
登入後複製
999999929
登入後複製
1
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
Returns: "not divisible"
登入後複製
登入後複製
登入後複製
Here A and C are distinct prime numbers, which means AB cannot have C as its divisor.
5)  
 
2
登入後複製
登入後複製
登入後複製
登入後複製
2
登入後複製
登入後複製
登入後複製
登入後複製
4
登入後複製
登入後複製
1
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製
Returns: "divisible"
登入後複製
登入後複製
登入後複製

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2003, TopCoder, Inc. All rights reserved.     

分解质因数。。。。

注意A或C可能是质数。。。。

#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>

using namespace std;

class BigFatInteger2 {
public:
string isDivisible(int, int, int, int);
};

typedef long long ll;
ll gcd(ll a,ll b)
{return b==0?a:gcd(b,a%b);}
bool isp(int n)
{
    if(n==2)return 1;
    if(n%2==0)return 0;
    for(int i=3;i pa,pc;
string BigFatInteger2::isDivisible(int A, int B, int C, int D)
{
    string div("divisible"),nodiv("not divisible");

    ll a,b,c,d;
    a=A,b=B,c=C,d=D;
	int ta=sqrt(A),tc=sqrt(C);
    for(int i=2;i
//Powered by [KawigiEdit] 2.0!
</ctime></cstdlib></cmath></cstdio></iomanip></iostream></sstream></utility></numeric></functional></algorithm></bitset></stack></deque></set></map></list></vector>
登入後複製


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板