NC251444. 简单的数学题
描述
使得对于正整数 ,当 时,。当 时, 。
小红想知道有多少个正整数 , 和 具有关于 的等价关系?
输入描述
输入共 行。
第一行一个整数表示 。
接下来 行,每行 个正整数,
输出描述
输出共 行,每行一个整数,表示多少个正整数 和 具有关于 的等价关系。
示例1
输入:
3 15 7 12 12 6 1
输出:
2 6 1
说明:
第一问,m=15,x=7,显然y=x=7满足。C 解法, 执行用时: 51ms, 内存消耗: 1184K, 提交时间: 2023-05-05 21:49:10
#include<stdio.h> int main() { int T,m,x; scanf("%d",&T); while(T--) { scanf("%d %d",&m,&x); printf("%d\n", m/(m/x)-m/(m/x+1)); } }
C++(clang++ 11.0.1) 解法, 执行用时: 331ms, 内存消耗: 1284K, 提交时间: 2023-05-05 21:51:18
#include<iostream> using namespace std; int main() { int t,m,x; cin>>t; while(t--) { cin>>m>>x; cout<<m/(m/x)-m/((m/x)+1)<<endl; } }
pypy3 解法, 执行用时: 812ms, 内存消耗: 30984K, 提交时间: 2023-05-07 10:57:20
for _ in range(int(input())): m, x = map(int, input().split()) k = m // x print(m // k - m // (k + 1))
Python3 解法, 执行用时: 1137ms, 内存消耗: 5420K, 提交时间: 2023-05-06 10:34:19
for _ in range(int(input())): m,x=map(int,input().split()) print(m//(m//x)-m//(m//x+1))