题目描述
一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢
输入
输入数据有若干组,每组数据包含二个整数a,b(0<a<10000, 10<b<100),若遇到0 0则处理结束
输出
对应每组数据,将满足条件的所有尾数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。
问题思路:
1.设前面几位数为fi,后面两位为la,除数为c。当两个都是整形的情况下令temp=(fi*100-1 )/c
则la=temp*c%100 (注意fi<(temp+1)100<fi+1 否则fi的值就不符合了)
代码:
#include<stdio.h>
int main()
{int la,fi,c;int temp=0;while (scanf("%d %d", &la, &c) != EOF) //防止出现死循环 {temp= (la * 100 - 1) /c; while (temp++) { printf("%d", temp * c % 100); //将后两位的值进行输出 if (c * (temp + 1) < la * 100 + 100) //判断下一个la是否在范围内putchar('\n'); else break; } putchar('\n'); }
}
题目:整除的尾数 - C语言网 (dotcpp.com)