- 浏览: 11298 次
- 性别:
最新评论
文章列表
Aloha:夏威夷人问候语,欢迎,再见。它还有另一层意思,是‘I love you’。当然这是根据语境来分析的,如果没有语境分析,我想它也不会存在那么多意思。表达'I love you'的时候,Aloha发音要延长点,a....lo...ha。大家可以试 ...
输入n,计算S = 1! + 2! + 3! + ...... + n!的末6位(不含前导0)。 n <= 10^6
样例输入:10
样例输出:37913
分析:此题需要注意溢出和时间的问题
溢出解决方案:要计算加法、减法和乘法的整数表达式除以正整数n的余数,可以再每步计算之后对n取余,结果不变。(原理:(a + b) % n = a % n + b % n)
n很大时,时间长的解决方案:注意到25!的阶乘有末尾6个0,则有(a + b) % n = a % n。也就说如果n大于24就相当于只计算n为24。(有兴趣的,可以尝试下没有优化前需要花多长时间)
#inclu ...
鉴于n<=10^9,即int行将会超过界限,如果是使用http://xuluan.iteye.com/admin/blogs/2029208
页面的代码,运行结果将会出错。当n=999999999时,第一次3n+1就会越界;
因而本次n使用了_int64(long long)型定义,这就很好地解决了越界问题
#include<stdio.h>
int main(){
__int64 n;
int count = 0;
scanf("%I64d",&n);
while(n > 1){
...
3n+1猜想
输入一个大于1自然数n,若n为奇数,则将n变为3n+1,否则变为n的一半。经过若干次这样的变化,一定会使n变为1。
#include<stdio.h>
#include<math.h>
int main(){
int n, count = 0;
scanf("%d",&n);
while(n > 1){
if(n % 2 == 1){
n = 3 * n + 1;
}else {
n /= 2;
}
count++;
}
printf( ...
aabb问题
1.简单的计算
#include<stdio.h>
#include<math.h>
int main(){
int a, b, n;
double m;
for(a = 1; a <= 9; a++){
for(b = 0; b <= 9; b++){
n = a * 1100 + b * 11;
m = sqrt(n);
if(floor(m + 0.5) == m){
printf("%d\n",n);
}
}
}
retu ...
1.直接比较+输出
#include<stdio.h>
int main(){
int a, b, c;
scanf("%d%d%d",&a,&b,&c);
if(a <= b && b <= c) printf("%d %d %d\n", a, b ,c);
else if(a <= c && c <= b) printf("%d %d %d\n", a, c, b);
else if(b <= a &am ...
已知鸡和兔的总数量为n,总数量为m。输入n和m,一次输出鸡的数目和兔的数目。如果误解则输出“No answer”(不要引号)
1.简单的公式计算:设鸡有a只,兔有b只,则有 a + b = n; 2a + 4b = m;即有,a = (4n - m)/2;b = n- a;
#include<stdio.h>
int main(){
int n, m, a, b;
scanf("%d%d",&n,&m);
a = (4 * n - m) / 2;
b = n - a;
if(m % 2 == 1 || a < ...
使用一个中间变量:
#include<stdio.h>
int main(){
int a, b, t;
scanf("%d%d",&a,&b);
t = a;
a = b;
b = t;
printf("%d %d\n",a,b);
return 0;
}
不使用中间变量:
#include<stdio.h>
int main(){
int a, b;
scanf("%d%d",&a,&b);
a = a ...
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
printf("%d%d%d\n",n%10,n/10%10,n/100);
return 0;
}
多位数反转:
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
if(!n){
printf("%d",n);
}else{
while(n){
...
一、基本概念 计算机网络就是通信技术与计算机技术相结合的产物。 C&C(Computer and Communication) 从不同的角度来看,计算机网络有着不一样的系统概念。 用户:计算机网络是众多计算机和 ...
前言:
首先先简单介绍一下Mandelbrot集,该集被曼德布罗特教授称之为“魔鬼的聚合物”,也被大家称之为“上帝的指纹”。之所以这么称呼,我想是该集合本身的自相似性及其图像复杂度。然而,如 ...