結果

問題 No.537 ユーザーID
ユーザー TumoiYorozuTumoiYorozu
提出日時 2017-06-30 22:29:08
言語 C++11
(gcc 11.4.0)
結果
AC  
実行時間 13 ms / 2,000 ms
コード長 4,168 bytes
コンパイル時間 1,795 ms
コンパイル使用メモリ 169,632 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-04-15 06:16:30
合計ジャッジ時間 2,245 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
6,812 KB
testcase_01 AC 1 ms
6,944 KB
testcase_02 AC 1 ms
6,940 KB
testcase_03 AC 1 ms
6,940 KB
testcase_04 AC 1 ms
6,944 KB
testcase_05 AC 1 ms
6,940 KB
testcase_06 AC 2 ms
6,944 KB
testcase_07 AC 1 ms
6,944 KB
testcase_08 AC 1 ms
6,944 KB
testcase_09 AC 1 ms
6,940 KB
testcase_10 AC 1 ms
6,940 KB
testcase_11 AC 1 ms
6,940 KB
testcase_12 AC 2 ms
6,944 KB
testcase_13 AC 2 ms
6,940 KB
testcase_14 AC 1 ms
6,940 KB
testcase_15 AC 1 ms
6,940 KB
testcase_16 AC 2 ms
6,940 KB
testcase_17 AC 2 ms
6,940 KB
testcase_18 AC 8 ms
6,944 KB
testcase_19 AC 11 ms
6,940 KB
testcase_20 AC 9 ms
6,944 KB
testcase_21 AC 6 ms
6,940 KB
testcase_22 AC 10 ms
6,940 KB
testcase_23 AC 6 ms
6,940 KB
testcase_24 AC 3 ms
6,940 KB
testcase_25 AC 11 ms
6,944 KB
testcase_26 AC 12 ms
6,944 KB
testcase_27 AC 8 ms
6,944 KB
testcase_28 AC 7 ms
6,944 KB
testcase_29 AC 13 ms
6,940 KB
testcase_30 AC 11 ms
6,940 KB
testcase_31 AC 5 ms
6,940 KB
testcase_32 AC 4 ms
6,940 KB
testcase_33 AC 12 ms
6,940 KB
testcase_34 AC 8 ms
6,940 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#define _USE_MATH_DEFINES
#include <bits/stdc++.h>

using namespace std;

#define dprint(Exp,...) if(Exp){fprintf(stderr, __VA_ARGS__);}
#define printe(...) fprintf(stderr, __VA_ARGS__);
#define PrtExp(_Exp)  cerr<< #_Exp <<" = "<< (_Exp)
#define PrtExpN(_Exp)  cerr<< #_Exp <<" = "<< (_Exp) <<"\n"

#define SINT(n) scanf("%d",&n)
#define SINT2(n,m) scanf("%d %d",&n,&m)
#define SINT3(n,m,o) scanf("%d %d %d",&n,&m,&o)
#define SINT4(n,m,o,p) scanf("%d %d %d %d",&n,&m,&o,&p)
#define SINT5(n,m,o,p,q) scanf("%d %d %d %d %d",&n,&m,&o,&p,&q)
#define SLL(n) scanf("%lld",&n)
#define SLL2(n,m) scanf("%lld %lld",&n,&m)
#define SLL3(n,m,o) scanf("%lld %lld %lld",&n,&m,&o)
#define SST(s) scanf("%s",s)
#define SCH(c) scanf("%c",&c)

#define GC() getchar()

#define PINT(n) printf("%d",(int)(n))
#define PINT2(n,m) printf("%d %d",(int)(n),(int)(m))
#define PINT3(n,m,l) printf("%d %d %d",(int)(n),(int)(m),(int)(l))
#define PLL(n) printf("%lld",(long long)(n))
#define PST(s) printf("%s",(s))
#define PCH(s) printf("%c",(s))

#define PINTN(n) printf("%d\n",(int)(n))
#define PINT2N(n,m) printf("%d %d\n",(int)(n),(int)(m))
#define PINT3N(n,m,l) printf("%d %d %d\n",(int)(n),(int)(m),(int)(l))
#define PLLN(n) printf("%lld\n",(long long)(n))
#define PSTN(s) printf("%s\n",(s))
#define PCHN(s) printf("%c\n",(s))

#define PSP() printf(" ")
#define PN() printf("\n")

#define PC(c) putchar(c)
#define CSP (' ')
#define SN ("\n")

#define rep(i,a) for(int i=0;i<a;i++)
#define reP(i,a) for(int i=0;i<=a;i++)
#define Rep(i,a) for(int i=a-1;i>=0;i--)
#define ReP(i,a) for(int i=a;i>=0;i--)

#define rEp(i,a) for(i=0;i<a;i++)
#define rEP(i,a) for(i=0;i<=a;i++)
#define REp(i,a) for(i=a-1;i>=0;i--)
#define REP(i,a) for(i=a;i>=0;i--)

#define repft(i,a,b) for(int i=a;i<b;i++)
#define repfT(i,a,b) for(int i=a;i<=b;i++)
#define Repft(i,a,b) for(int i=a-1;i>=b;i--)
#define RepfT(i,a,b) for(int i=a;i>=b;i--)

#define foreach(a,it) for(auto it = a.begin(); it != a.end(); ++it)

#define FILL(a,v) fill(begin(a),end(a), v)
#define FILL0(a) memset(a,0,sizeof(a))
#define FILL1(a) memset(a,-1,sizeof(a))

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> Pi;
typedef pair<ll, ll>   Pll;


const int INF = 0x2aaaaaaa; // 715,827,882
const ll INFLL = 0x1f1f1f1f1f1f1f1fLL;//2,242,545,357,980,376,863

template <class A, class B> inline ostream& operator<<(ostream& st, const pair<A, B>& P) { return st << "(" << P.first << "," << P.second << ")"; };
template <class A, class B> inline pair<A, B> operator+(const pair<A, B>& P, const pair<A, B>& Q) { return pair<A, B>(P.first + Q.first, P.second + Q.second); };
template <class A, class B> inline pair<A, B> operator-(const pair<A, B>& P, const pair<A, B>& Q) { return pair<A, B>(P.first - Q.first, P.second - Q.second); };

#define fs  first
#define sc  second

typedef complex<double> P;




const int N = 1210000;
const int sqrtN = 1100;
bool isprime[N + 1];

void sieve_of_atkin() {
	int n;
	for (int z = 1; z <= 5; z += 4) {
		for (int y = z; y <= sqrtN; y += 6) {
			for (int x = 1; x <= sqrtN && (n = 4 * x*x + y*y) <= N; ++x)
				isprime[n] = !isprime[n];
			for (int x = y + 1; x <= sqrtN && (n = 3 * x*x - y*y) <= N; x += 2)
				isprime[n] = !isprime[n];
		}
	}
	for (int z = 2; z <= 4; z += 2) {
		for (int y = z; y <= sqrtN; y += 6) {
			for (int x = 1; x <= sqrtN && (n = 3 * x*x + y*y) <= N; x += 2)
				isprime[n] = !isprime[n];
			for (int x = y + 1; x <= sqrtN && (n = 3 * x*x - y*y) <= N; x += 2)
				isprime[n] = !isprime[n];
		}
	}
	for (int y = 3; y <= sqrtN; y += 6) {
		for (int z = 1; z <= 2; ++z) {
			for (int x = z; x <= sqrtN && (n = 4 * x*x + y*y) <= N; x += 3)
				isprime[n] = !isprime[n];
		}
	}
	for (int n = 5; n <= sqrtN; ++n)
		if (isprime[n])
			for (int k = n*n; k <= N; k += n*n)
				isprime[k] = false;
	isprime[2] = isprime[3] = true;
}



set<string> ret;



int main() {
	ll N;
	cin >> N;

	for (ll i = 1; i*i <= N; ++i) {
		//if (i % 100000 == 0) cerr << i << endl;
		if (N%i == 0) {
			ll x = N / i;

			string s = to_string(i) + to_string(x);
			string t = to_string(x) + to_string(i);
			ret.insert(s);
			ret.insert(t);
		}
	}

	cout << ret.size() << endl;

}




0