任务描述
本关任务: 魔术师要每位观众心里想一个3位数abc,然后让观众心中记下acb,bac,bca,cab,cba这5个数的和。只要观众说出和是多少,则魔术师可以立即说出观众心里的原数abc是多少。例如观众甲说他计算的和值是1999,则魔术师立即说他想的数是443,而观众乙说他计算的和值是1998,则魔术师说:“你算错了”。
输入输出格式
输入:1999 输出:443 输入:1998 输出:你算错了
主函数
#include<stdio.h>#include"fun.h"int main(){int n;scanf("%d", &n);int d = fun(n);if(d == 0) printf("你算错了");else printf("%d", fun(n));return 0;}int fun(int n) { int i; int a,b,c; int sum; for (i=100;i<1000;i++) { a=i/100; c=i%10; b=(i-100*a-c)/10; sum=n+i;//sum实际为百位、十位、个位上都有2个a、b、c相加 if((a+b+c)*222==sum) { return i; } } return 0; }
这篇博客探讨了一个有趣的数学魔术,魔术师通过观众心理所想的三位数的特定计算方式,能够快速推断出原始数字。文章介绍了魔术背后的数学原理,即通过分析数字的排列组合和求和规律来找出原数。同时,给出了C语言实现的函数来验证这个魔术的正确性。

2万+

被折叠的 条评论
为什么被折叠?



