ZOJ 1152 A Mathematical Curiosity

题目大意:

        现有多个测例(测例数题中给出),每个测例中给出若干行,每行中给出两个int型整数n和m,其中1 ≤ n ≤ 100,要求计算整数对(a, b)的个数,该整数对满足0 < a < b < n并且ab能整除(a^2 + b^2 + m),即(a^2 + b^2 + m) mod ab = 0,输出时测例之间有空行,最后一个测例后没有空行,每个测例中每一行的输出用Case %d统计。

题目链接

注释代码:

/*                        
 * Problem ID : ZOJ 1152 A Mathematical Curiosity   
 * Author     : Lirx.t.Una                        
 * Language   : C             
 * Run Time   : 30 ms                        
 * Run Memory : 168 KB                        
*/

#include <stdio.h>

int
main() {

	int		nscn, iscn;
	int		n, m;
	int		a, b;

	int		cnt;

	scanf("%d", &nscn);
	while ( nscn-- ) {
	
		iscn = 0;//枚举
		while ( scanf("%d%d", &n, &m), n ) {
		
			cnt = 0;
			for ( a = 1; a < n; a++ )
				for ( b = a + 1; b < n; b++ )
					if ( !( ( a * a + b * b + m ) % ( a * b ) ) )
						cnt++;

			printf("Case %d: %d\n", ++iscn, cnt);
		}

		if (nscn) putchar('\n');
	}

	return 0;
}

无注释代码:

#include <stdio.h>

int
main() {

	int		nscn, iscn;
	int		n, m;
	int		a, b;

	int		cnt;

	scanf("%d", &nscn);
	while ( nscn-- ) {
	
		iscn = 0;
		while ( scanf("%d%d", &n, &m), n ) {
		
			cnt = 0;
			for ( a = 1; a < n; a++ )
				for ( b = a + 1; b < n; b++ )
					if ( !( ( a * a + b * b + m ) % ( a * b ) ) )
						cnt++;

			printf("Case %d: %d\n", ++iscn, cnt);
		}

		if (nscn) putchar('\n');
	}

	return 0;
}

单词解释:

mathematical:adj, 数学的

curiosity:n, 好奇心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值