如果a的因子和等于b,b的因子和等于a,且a≠b,则称a,b为亲密数对。 比如220的所有真约数(即不是自身的约数)之和为:
1+2+4+5+10+11+20+22+44+55+110=284。
284的所有真约数和为: 1+2+4+71+142=220。
你的任务就编写一个程序,判断给定的两个数是否是亲和数
Input
输入数据第一行包含一个数M,接下有M行,每行一个实例,包含两个整数A,B; 其中 0≤A,B≤99999。
Output
对于每个测试实例,如果A和B是亲和数的话输出YES,否则输出NO。
Sample Input
2
220 284 100 200
Sample Output
YES NO 1048
我们知道人民币有1、2、5、10、20、50、100这几种面值。
现在给你n(1≤n≤250)元,让你计算换成用上面这些面额表示且总数不超过100张,共有几种。
比如4元,能用4张1元、2张1元和1张2元、2张2元,三种表示方法。 Input
输入有多组,每组一行,为一个整合n。 输入以0结束。 Output
输出该面额有几种表示方法。 Sample Input 1 4 0
Sample Output 1 3 1049
* *** ***** ******* ***** *** *
上面的菱形漂亮吗?
现给出菱形的高度,要求你打印出相应高度的菱形,比如上面的菱形高度为7
Input
测试数据包括多行,每行1个整数h,为菱形的高度。 输入以0结束。
Output
输入对应的菱形。
Sample Input
1 7 0
Sample Output
* * *** ***** ******* ***** *** * 1050
求n个数的最小公倍数
Input
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
Output
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
Sample Input
2 4 6 3 2 5 7
Sample Output
12 70 1051
Description
给定一个日期,输出这个日期是该年的第几天。 Input
输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。 Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。 Sample Input 2000-01-01 Sample Output 1 Hint
本题读入格式:scanf(\&year, &month, &day); 1052
知f[]与g[]两个整数数组,元素都已经从小到大排好序,请写一个程序,算出f[]中比g[]中元素大的对数。换句话
说,f[0]比g[]中多少个元素大,f[1]比g[]中多少个元素大等,这些值的总和就是要求的答案。
举个例子,如果f[]中有 1,3,5,7,9,而g[]中有2,3,4,7,8。 那么:
f[0]比g[]中的所有元素都小; f[1]比g[0]大;
f[2]比g[0]、g[1]、g[2]大; f[3]比g[0]、g[1]、g[2]大;
f[4]比g[0]、g[1]、g[2]、g[3]、g[4]大; 所以答案是0+1+3+3+5=12
Input
第一行为两个整数m, n(1≤m, n≤1000),分别代表数组f[], g[]的长度。 第二行有m个元素,为数组f[]。 第三行有n个元素,为数组g[]。
Output
输出支配值
Sample Input
5 5
1 3 5 7 9 2 3 4 7 8
Sample Output
12 1053
已知两个整数数组f[]和g[],它们的元素都已经从小到大排列。例如f[]中可能有1,2,2,3,3,g[]中有1,2,2,2,3。
请写一个程序,算出这两个数组彼此
之间有多少组相同的数据。就以上例而言:
f[0]于g[0]是第一组; f[1]于g[1]是第二组; f[2]于g[2]是第三组; f[3]于g[4]是第四组。
Input
第一行为两个整数m, n(1≤m, n≤1000),分别代表数组f[], g[]的长度。第二行有m个元素,为数组f[]。 第三行有n个元素,为数组g[]。
Output
输出等值数目。
Sample Input
5 5
1 2 2 2 3 1 2 2 3 3
Sample Output
4 1054 计算A+B
Input
输入数据有多组。
每组一行,为整数A, B。 以EOF做结束。
Output
对每行输入,输出A+B的值,单独占一行。
Sample Input
1 2 3 4
Sample Output
3 7
Hint
此类多实例测试解决方案:
while(scanf(\ {
//读入一组测试数据 //处理 //输出结果 }
注:EOF是宏定义常量-1,scanf函数遇到文件结束标志函数返回值是-1,键盘输入时,ctrl+z表示输入结束 本题标程:
#include\ int main() {
int a,b;
while(scanf(\ {
printf(\ }
return 0; } 1055 计算A+B
Input
输入第1行为一个整数n(1≤n≤10),代表测试的组数。
下面有n组测试数据,每组1行,为2个整数,为A, B。
Output
对每行输入,输出A+B的值,单独占一行。
Sample Input
2 1 2 3 4
Sample Output
3 7
Hint
此类多实例测试解决方案: scanf(\ for(i=1;i<=n;i++) {
//读入、处理一组测试实例 }
本题标程: #include\
int main() {
int a,b,n,i;
scanf(\ for(i=1;i<=n;i++)
{
scanf(\ printf(\ }
return 0; } 1056 计算A+B
Input
输入数据有多组。
每组一行,为两个整数A, B。 输入以0 0结束
Output
对每行输入,输出A+B的值,单独占
一行。
Sample Input
1 2 0 0
Sample Output
3
Hint
本题标程:
#include\ int main() {
int a,b;
while(scanf(\
a!=0||b!=0)
printf(\
return 0; } 1057 计算A+B
Input
输入数据有多组。
每组一行,为两个整数A, B。 输入以0 0结束。
Output
输出A+B的值,每组数据之间保留一个空行,注意最后一行没有空行!!!Sample Input
1 2 3 4 0 0
Sample Output
3 7 1061
给出三个整数,请你设计一个程序,求出这三个数的和、乘积和平均数。
Input
输入只有三个正整数a、b、c。