首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

暑期 每天一练acm题 第二题 大家都来畅所欲言 说得好有分

2012-08-13 
暑期 每日一练acm题第二题大家都来畅所欲言说得好有分C/C++ code/**************************************

暑期 每日一练acm题 第二题 大家都来畅所欲言 说得好有分

C/C++ code
/*********************************************Felicia的生日是11月1日(和Kitty是同一天生的哦)。于是Feli请来Kitty一起过生日。Kitty带来了最新款的"Kitty猫"玩具准备送给Feli,不过她说,这份礼物可不是白送的。Feli要帮她一个忙,才能够得到心仪已久的玩具。Kitty说,"Kitty猫"玩具已经卖出了n!个,n<=10^100*_*,Kitty想知道确切的数字,而不是无聊的"一个数加个感叹号"。Feli听了大吃一惊。要知道,算出n!是一个无比艰巨的任务。Feli告诉Kitty,就算Feli算出n!,Kitty也看不下去,因为当n=20时,计算机的长整型已经存不下了(Kitty只能接受1-9之间的数字)。于是Kitty说,你只要告诉我n!最后一位非0的数就可以了。Feli想了想,立刻动手写了个程序算出了正确的答案。现在,请你也试试看!注意哦,AC的男生将会得到一个"Hello Kitty"计算器(可编程,CPU 1THz,Mem 1TMB),AC的女生将会得到一个仿真"Hello Kitty"宠物(善解人意,无须喂养,智商1101,附带写情书功能)。【数据输入】每行一个n,直到输入数据结束【数据输出】对应输入的n,每行输出一个答案【样例输入】1101【样例输出】8****************************************************/#include<stdio.h>int main(){    int mun,unit = 1,i,m;    scanf("%d",&mun);    for( i = 1 ; i <= mun ; i++)    {        m = unit * i;        while(m % 10 == 0)        {            m = m / 10;        }        unit = m % 10;    }    printf("%d\n",unit);    return 0;}
楼主昨天做的一道题出事感觉很简单 可是一编出问题了 数大这个就算不出来了 上万似乎也会也会变慢 有没有办法改进 顺便问一下#include<iostream>什么意思 现在看这套acm题有的用答案 能顺便解释一下联合体最好了

[解决办法]
楼主这个好像有点问题的吧?如果遇到了i==10或者10的整数倍后就可以直接不用算了吧??个位数肯定是0咯。
#include<iostream>是C++的一个用于输入输出的库。
[解决办法]
探讨

楼主这个好像有点问题的吧?如果遇到了i==10或者10的整数倍后就可以直接不用算了吧??个位数肯定是0咯。
#include<iostream>是C++的一个用于输入输出的库。

[解决办法]
[code=C/C++][/code]

#include <stdio.h>

int main()
{
int num = 0;
int value = 0;
printf("Enter a Number\n");
scanf("%d",&num);

if(0 != num)
{
value = 1;
}

for(int i = 1; i <= num; i++)
{
value *= i;
while((value % 10) == 0)
{
value /= 10;
}

int temp_num = 1;
while( (value - temp_num) % 10)
{
temp_num++;
}
value = temp_num;
}

printf("Value = %d\n",value);
return 0;
}

用vi随便写了下,验证应该是OK
[解决办法]
[Quote=引用:]

[code=C/C++][/code]

#include <stdio.h>

int main()
{
int num = 0;
int value = 0;
printf("Enter a Number\n");
scanf("%d",&amp;num);

if(0 != num)
{
value ……
[/Quote]
26!=4,你的是=3,应该用log的吧?

热点排行