#include <stdio.h>
/*
* 等比数列の和
* 初項a0=7, 公比d=0.5
*/
int main(void) {
double a=1, sum=0; //(初)項、和
double pre, diff; //前項、差分
int i=0; //i番目
do{
sum = sum + a;
pre = a; //前項
a = -0.5*a; //次項
i = i + 1;
printf("%d %.8f %.8f",i
,pre
,a
); //確認用 if(pre>a){
diff = pre - a;
}else{
diff = a - pre;
}while(diff>0.0000001);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovKgogKiDnrYnmr5TmlbDliJfjga7lkowKICog5Yid6aCFYTA9Nywg5YWs5q+UZD0wLjUKICovCmludCBtYWluKHZvaWQpIHsKCWRvdWJsZSBhPTEsIHN1bT0wOwkvLyjliJ0p6aCF44CB5ZKMCglkb3VibGUgcHJlLCBkaWZmOwkvL+WJjemgheOAgeW3ruWIhgoJaW50IGk9MDsJCQkvL2nnlarnm64KCQoJZG97CgkJc3VtID0gc3VtICsgYTsKCQlwcmUgPSBhOwkJLy/liY3poIUKCQlhID0gLTAuNSphOwkJLy/mrKHpoIUKCQlpID0gaSArIDE7CgkJcHJpbnRmKCIlZCAlLjhmICUuOGYiLGkscHJlLGEpOwkvL+eiuuiqjeeUqAoJCWlmKHByZT5hKXsKCQkJZGlmZiA9IHByZSAtIGE7CgkJfWVsc2V7CgkJCWRpZmYgPSBhIC0gcHJlOwoJCX1wcmludGYoIiAlLjhmXG4iLGRpZmYpOwoJCQkKCX13aGlsZShkaWZmPjAuMDAwMDAwMSk7CglwcmludGYoIuWQiOioiCAlLjdmXG4iLHN1bSk7CgkKCXJldHVybiAwOwp9Cg==