首页 > 代码库 > (HDU)1017 --A Mathematical Curiosity(数学好奇心)
(HDU)1017 --A Mathematical Curiosity(数学好奇心)
描述 给定两个整数n和m,计数整数对(a,b)的数目,使得0 <a <b <n,并且(a ^ 2 + b ^ 2 + m)/(ab)是一个整数。 这个问题包含多个测试用例! 输入的第一行是整数N,然后是空白行,后跟N个输入块。 每个输入块采用问题说明中指示的格式。 输入块之间有空行。 输出格式由N个输出块组成。 输出块之间有一个空行。 输入 您将在输入中获得多个样例。 每个情况由包含整数n和m的行指定。 输入结束由n = m = 0的情况表示。您可以假设0 <n <= 100。 输出 对于每种情况,输出样例编号以及满足给定属性的对数(a,b)。 在一行上输出每种情况的答案,格式如下所示。 样品输入 1 10 1 20 3 30 4 0 0 示例输出 Case 1: 2 Case 2: 4 Case 3: 5
找出满足要求的数对,这题容易WA和PE,都是格式的原因。
这题其实特别水,n的范围很小,忽略输入的空行也可以AC...
1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 int main() 7 { 8 9 int N; 10 int n,m; 11 scanf("%d",&N); 12 while(N--) 13 { 14 int num=1; 15 while(~scanf("%d%d",&n,&m) &&(n||m) ) 16 { 17 int sum=0; 18 int i,j; 19 for(i=1;i<n;i++) 20 { 21 for(j=i+1;j<n;j++) 22 { 23 if((i*i+j*j+m)%(i*j) == 0) 24 sum++; 25 } 26 } 27 printf("Case %d: %d\n",num++,sum); 28 } 29 if(N) 30 printf("\n"); 31 } 32 return 0; 33 }
(HDU)1017 --A Mathematical Curiosity(数学好奇心)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。