题目1015:还是A+B
题目描述:
-
读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。
-
输入:
-
测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。
-
输出:
-
对每个测试用例输出1行,即A+B的值或者是-1。
-
样例输入:
-
1 2 1 11 21 1 108 8 2 36 64 3 0 0 1
-
样例输出:
-
3 -1 -1 100
-
#include <iostream> #include<stdio.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char** argv) { int a,b,k; while(scanf("%d%d%d",&a,&b,&k)!=EOF) { if(a==0&&b==0)break; int moda=0,modb=0; int tmpa=a,tmpb=b; for(int i=0;i<k;i++) { moda*=10; moda+=tmpa%10; tmpa=tmpa/10; } for(int i=0;i<k;i++) { modb*=10; modb+=tmpb%10; tmpb/=10; } if(moda==modb)printf("-1\n"); else printf("%d\n",a+b); } return 0; }浙大这题怎么这么简单那
-
题目1183:守形数
-
题目描述:
-
守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。
-
输入:
-
输入包括1个整数N,2<=N<100。
-
输出:
-
可能有多组测试数据,对于每组数据, 输出"Yes!”表示N是守形数。 输出"No!”表示N不是守形数。
-
样例输入:
-
25 4
-
样例输出:
-
Yes! No!
#include<stdio.h>
#include<string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int n;
while(scanf("%d",&n)!=EOF)
{
int low;
if(n<10)
{
low=n;
}
else if(n<100)
{
low=n%10;
}
if(low*low==n)
{
printf("YES!\n");
}
else
{
printf("NO!\n");
}
}
return 0;
} -
-
开始我还求位,后面发现100以内,晕。。
-