题目23:整除的尾数
一个整数,只知道前几位为a,不知道末二位,被另一个整数b除尽了,那么该数的末二位该是什么呢?
输入第一行为T,以下T行,每行为一组测试数据,包含两个整数a,b(0<a<10000, 10<b<100)
对应每组数据,将满足条件的所有尾数在一行内输出,格式见范例。同组数据的输出,其每个尾数之间空一格,行首与行尾没有空格。
总结:
1. 使 j 遍历0-99,若x = 100 * a + j能被 b 整除,则输出该数
2. flag和flag1用于控制换行符的输出
#include <stdio.h>
int main(){
int a, b, t, flag = 1;
scanf("%d", &t);
for(int i = 0; i < t; i++){
if(flag != 1)
printf("\\n");
flag = 0;
scanf("%d %d", &a, &b);
int flag1 = 1;
for(int j = 0; j < 99; j++){
int x = 100 * a + j;
if(x % b == 0){
if(flag1 != 1)
printf(" ");
flag1 = 0;
printf("%d", j);
}
}
flag1 = 0;
}
return 0;
}
题目24:回文质数
因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 号是回文质数。写一个程序来找出范围[a,b](5<= a < b <= 100,000)间的所有回文质数
输入仅 1 行: 二个整数 a 和 b(5<= a < b <= 100,000)。
输出一个回文质数的列表,一行一个。每行首尾无空格,最后无空行。
总结:
bool类型的方法需要在头文件中加上#include <stdbool.h>
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
bool isPrime(int n){//判断是否为质数
if(n <= 1)
return false;
if(n == 2)
return true;
for(int i = 2; i <= sqrt(n); i++){
if(n % i == 0)
return false;
}
return true;
}
bool isPalindrome(int n){//判断是否为回文数
int arr[6] = {0};//a b 最大为100000,数组长度为6即可
int temp = n, len = 0;
while(temp > 0){
arr[len++] = temp % 10;
temp /= 10;
}
for(int i = 0; i < len / 2; i++){//判断i是否为回文数
if(arr[i] != arr[len – i – 1])
return false;
}
return true;
}
int main(){
int a, b;
scanf("%d %d", &a, &b);
int flag = 0;
for(int i = a; i <= b; i++){
if(isPrime(i) && isPalindrome(i)){
if(flag != 0)
printf("\\n");
flag = 1;
printf("%d", i);
}
}
return 0;
}
题目25:汽水瓶
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。
总结:
三个或以上空瓶子可以换汽水,使用循环,每次换完空瓶子后判断喝完新的汽水和原来剩余的瓶子能不能继续换新汽水,若可以则进入循环,否则判断剩余瓶子数是否等于2,等于2可以再借瓶汽水
#include <stdio.h>
int main(){
int n, count, empty_bottles, flag = 1;
for(int i = 0; i < 10; i++){
scanf("%d", &n);
if(n == 0)
break;
if(flag != 1)
printf("\\n");
flag = 0;
count = 0;
empty_bottles = n; // 开始有n个空瓶子
// 3个或以上空瓶子可以换汽水
while (empty_bottles >= 3) {
int new_drinks = empty_bottles / 3;
count += new_drinks;
empty_bottles = empty_bottles % 3 + new_drinks;
}
if(empty_bottles == 2)
count++;
printf("%d", count);
}
return 0;
}


1-3段翻译:
人工智能是计算机科学的一个领域,是为了创建可以在没有人类干涉时执行复杂任务的自动化机器。这个目标需要机器能够感知和推理。这个能力属于常识活动的种类,尽管这是人类思维的本能,但在历史上也已经证明这对机器来说很难。这个结果是该领域的工作依旧充满挑战。
人工智能是一个相当大领域并且合并了其他学科,例如心理学,神经学,数学,语言学和机电工程。为了聚焦我们的思想,我们首先思考代理的概念以及一个代理可能表现出的智能行为的类型。事实上,很多人工智能的研究都可以根据代理的行为进行分类。
代理是一个回应环境刺激的设备。很自然的设想代理就像单个机器例如机器人,尽管代理可能有其他形式比如一个自主飞机,一个交互式视频游戏的角色或者是一个在互联网上与其他进程进行交流的进程(可能是客户端,服务器或者对等体)。很多代理有传感器,通过传感器他们接收来自环境以及能够影响环境的执行器的数据。传感器的例子包括麦克风,相机,距离传感器和空气或土地采样设备。执行器的例子包括轮子,腿,翅膀,夹子和语音合成器。
网硕互联帮助中心





评论前必须登录!
注册