其他分享
首页 > 其他分享> > 考研机试OJ练习—%运算符

考研机试OJ练习—%运算符

作者:互联网

1.还是A+B

题目描述
读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。
输入描述:
测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。
输出描述:
对每个测试用例输出1行,即A+B的值或者是-1。
示例1
输入
复制
1 2 1
11 21 1
108 8 2
36 64 3
0 0 1
输出
复制
3
-1
-1
100

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

int main()
{
	int a,b,k;
	while(scanf("%d %d %d",&a,&b,&k)!=EOF&&(a!=0&&b!=0))
	{
		int flag=k;
		int sum=a+b;
		while(k--)
		{
			if(a%10==b%10)
			{
				flag--;
				a/=10;
				b/=10;
			}
		}
		if(flag==0)
			printf("-1\n");
		else
			printf("%d\n",sum);
	}
	return 0;
}

2.守形数

守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。
编一个程序,判断N是否为守形数。 输入描述: 输入包括1个整数N,2<=N<100。

输出描述: 可能有多组测试数据,对于每组数据, 输出"Yes!”表示N是守形数。 输出"No!”表示N不是守形数。
示例1
输入 25 4
输出 Yes! No!

#include<stdio.h>
int main()
{
    int N,n,i;
    while(scanf("%d",&N)!=EOF)
    {
        n=N*N;
        if(2<=N&&N<=9) i=10;
        else i=100;
        if((n-N)%i==0)
            printf("Yes!\n");
        else printf("No!\n");
    }
    return 0;
}

标签:输出,OJ,25,int,运算符,形数,机试,输入,10
来源: https://blog.csdn.net/qq_39293290/article/details/88075116