题解 | #牛牛的四叶玫瑰数#
牛牛的四叶玫瑰数
http://www.nowcoder.com/practice/b1ee23676ad54919b50aa1a09da1704e
普通版:
#include<stdio.h>
int main() {
int get_leftvalue = 0, get_rightvalue = 0;
scanf("%d %d", &get_leftvalue, &get_rightvalue);
for (int i = get_leftvalue; i <= get_rightvalue; i++) {
int thousand_bit = i/1000;
int hundredth_bit = (i/100)%10;
int ten_bit = (i/10)%10;
int bit = i%10;
if (thousand_bit * thousand_bit * thousand_bit * thousand_bit + hundredth_bit * hundredth_bit * hundredth_bit * hundredth_bit+ ten_bit * ten_bit * ten_bit * ten_bit + bit * bit * bit * bit== i && thousand_bit < 10) {
printf("%d ", i);
}
}
return 0;
}
函数引用版:
#include<stdio.h>
#include<math.h>
int func_RosaNum(int left_value,int right_value) {
for (int i = left_value; i <= right_value; i++) {
int thousand_bit = i/1000;
int hundredth_bit = (i/100)%10;
int ten_bit = (i/10)%10;
int bit = i%10;
int sum = pow(thousand_bit, 4) + pow(hundredth_bit,4) + pow(ten_bit,4) + pow(bit,4);
if (sum == i && thousand_bit < 10) {
printf("%d ", i);
}
//printf("%d %d %d %d\n", thousand_bit, hundredth_bit, ten_bit, bit);
}
}
int main() {
int get_leftvalue = 0, get_rightvalue = 0;
scanf("%d %d", &get_leftvalue, &get_rightvalue);
func_RosaNum(get_leftvalue, get_rightvalue);
return 0;
}