zoukankan      html  css  js  c++  java
  • HDU2099

    整除的尾数

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 27646    Accepted Submission(s): 11717


    Problem Description
    一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?
     

    Input
    输入数据有若干组,每组数据包含二个整数a,b(0<a<10000, 10<b<100),若遇到0 0则处理结束。
     

    Output
    对应每组数据,将满足条件的所有尾数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。
     

    Sample Input
    200 40 1992 95 0 0
     

    Sample Output
    00 40 80 15
     

    Source

    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int a, b;
    	while (cin >> a>>b)
    	{
    		int c[1000], j=0;
    		if (a==0 && b==0)
    			return 0;
    		for (int i=0; i<=99; i++)
    		{
    			if ((100*a +i) % b ==0)
    			{
    				c[j] = i;
    				j++;
    			}
    		}
    		for (int i=0; i<j-1; i++)
    		{
    			if (c[i] >=0 &&c[i]<= 9)
    				cout <<0 <<c[i] << " ";
    			else 
    				cout <<c[i] <<" ";
    		}
    		if(c[j-1] >=0 && c[j-1] <=9)
    			cout <<0 << c[j-1] << endl;
    		else
    			cout <<c[j-1]<< endl; 
    	}
    	return 0;
    }

    以下代码是我在discuss里面看到的,比较优秀
    #include<stdio.h>
    
    int main()
    {
    	int n,b,i,a[100],j;
    	while(scanf("%d%d",&n,&b),n||b)
    	{
    		j=0;
    		for(i=0;i<100;i++)
    		{
    			if((n*100+i)%b==0)
    			a[j++]=i;
    		}
    		for(i=0;i<j-1;i++)
    		printf("%02d ",a[i]);
    		printf("%02d
    ",a[j-1]);
    	}
    	
    }

    对于printf("%02d");解释如下:
    printf("%02d",2);
    printf打印数据到屏幕上,这是C的函数。类似C++的cout<<语句。
    %d表示打印整型的,
    %2d表示把整型数据打印最低两位,
    %02d表示把整型数据打印最低两位,如果不足两位,用0补齐
    所以打印出来就是02了

  • 相关阅读:
    Go反射
    Go_CSP并发模型
    Go_select
    Go计时器
    day9:vcp考试
    day8:vcp考试
    day7:vcp考试
    day6:vcp考试
    day5:vcp考试
    day4:vcp考试
  • 原文地址:https://www.cnblogs.com/Tovi/p/6194918.html
Copyright © 2011-2022 走看看